|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
|
Потоки + Цикл09.10.2018, 22:02. Показов 1856. Ответов 15
Метки нет (Все метки)
Добрый вечер столкнулся с проблемой, передо мной стоит задача запускать n потоков в n заходов.
Поясню, например у меня есть 4 потока , которые нужно запустить 4 раза, то есть 4 по 4 (16). Пытался лепить с двойным циклом, но получается что запускаются сразу ВСЕ (16) , а мне надо что бы выполнились 4, потом 4.... HELP !)
0
|
|
| 09.10.2018, 22:02 | |
|
Ответы с готовыми решениями:
15
Цикл и потоки Байтовые потоки и потоки символов Почему если условие входа в цикл не выполняется, функция заново входит в цикл |
|
1 / 1 / 0
Регистрация: 25.11.2017
Сообщений: 37
|
|
| 09.10.2018, 22:12 | |
|
Может добавить условие. Мол пока не завершится первый поток, второй не начинает работу. Только я не знаю как =)
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
|
| 09.10.2018, 22:16 [ТС] | |
|
Чисто логически - нужно написать условие что бы цикл дожидался завершения всех потоков, гугл в помощь , но как сформировать код я не знаю, на пальцах понимаю как должно работать, я компьютеру объяснить не могу.
0
|
|
|
1 / 1 / 0
Регистрация: 25.11.2017
Сообщений: 37
|
|
| 09.10.2018, 22:24 | |
|
Что-то про синхронизацию потоков видел.
0
|
|
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|||||||||||
| 10.10.2018, 09:43 | |||||||||||
Сообщение было отмечено Tarhun_ как решение
Решение
emulzone,
Добавлено через 52 минуты 1. Добавьте на форму кнопку btnStart и подпишитесь на событие Click 2. Добавьте на форму текстбокс tbOutput с свойством Multiline = True и VerticalScrollbar = True 3. Код под спойлером Кликните здесь для просмотра всего текста
Пример выполнения программы: Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
|||||||||||
| 10.10.2018, 11:45 [ТС] | |||||||||||
|
Спасибо за ответ ! А как сделать что бы кол-во было изменяемым, просто цикл для списка не работает, я про часть кода:
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Старт: Iteration 1 BW 0 started BW 0 completed Iteration 2 BW 0 started BW 0 completed Iteration 3 BW 0 started BW 0 completed Iteration 4 BW 0 started BW 0 completed TEST COMPLETED
0
|
|||||||||||
|
|
||
| 10.10.2018, 13:39 | ||
|
Тогда будет легче самому писать код, и конечно проще будет вам показать где ошибка. Пока в вашей логике, не видно проблемы, так как логика написана плохо, и еще хуже сформулирован вопрос.
1
|
||
|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
||||||
| 10.10.2018, 13:53 [ТС] | ||||||
|
Тов. meridbt предоставил рабочий код , который меня почти утаивает. Он сделал что можно изменять количество заходов (пулов), но нет возможности изменить кол-во создаваемых потоков ( из программы ), он вызывает их через код:
Кол-во операций\Кол-во потоков операция 0 Поток 0 Поток 1 Поток 2 Поток m операция 1 Поток 0 Поток 1 Поток 2 Поток m операция 2 Поток 0 Поток 1 Поток 2 Поток m операция 3 Поток 0 Поток 1 Поток 2 Поток m ................ операция n Поток 0 Поток 1 Поток 2 Поток m
0
|
||||||
|
|
||||||
| 10.10.2018, 14:17 | ||||||
|
то что показано у meridbt, только пример, ну и потом, там не идет про пул потоков речи.
1
|
||||||
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|||||||||||
| 10.10.2018, 14:24 | |||||||||||
|
Tarhun_,
В этой части программы вы последовательно 4 раза инициализируете коллекцию с одним элементом. После четвёртой (да и любой другой) итерации в коллекции будет только один элемент:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
|
| 10.10.2018, 14:38 [ТС] | |
|
Допустил ошибку, все работает, спасибо Всем !
0
|
|
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|
| 10.10.2018, 14:44 | |
|
=delete=
Добавлено через 4 минуты Tarhun_, Хорошо, но, как сказал V_Monomax, это только пример (даже скорее идея реализации), но не готовое решение. Развивайте её в своём проекте и реализуйте грамотно.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 7
|
|
| 10.10.2018, 14:51 [ТС] | |
|
meridbt , это единственно здравый костыль который подошел для реализации, со временем подробно с этим разберусь и сделаю грамотней
0
|
|
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|||||||||||||||||
| 10.10.2018, 16:09 | |||||||||||||||||
|
V_Monomax,
Класс Worker: Кликните здесь для просмотра всего текста
На форме: Кликните здесь для просмотра всего текста
Вывод одной итерации такой: Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||
|
|
||
| 10.10.2018, 18:33 | ||
|
0
|
||
| 10.10.2018, 18:33 | |
|
Помогаю со студенческими работами здесь
16
Помогите заменить цикл forech на простой цикл for Цикл foreach заменить на двойной цикл for
Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием... Что такое потоки ввода, потоки вывода? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|