Показать сообщение отдельно
  #18  
Старый 09.09.2011, 22:26
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от ujanin
Как дойду до них буду разбираться, просто иногда ступор, вот и прошу помощи в этой теме. Вы же помогаете не только мне, а тем миллиардам людей в будущем, которые будут искать подобные решения задач

Статистика показывает, что, к сожалению, поиском пользуется 0.(0)1% людей, просто предпочитают сразу задавать вопрос.

Собственно, по теме.
Я бы строил примерно так.
Если задача стоит как список заданий вида:
[на этот сервер][закачать][эту папку/файл]
то делаем пул потоков-работников, каждый из которых обрабатывает одно задание. Когда поток выполняет задание, он спрашивает (беред из очереди) следующее. Тут тебе потребуются критические секции (CriticalSection). Общее кол-во потоков тоже ограничивается каким-то разумным числом (5-10).
Ну и соответсвенно поток-координатор (м.б. главный поток приложения) просто обеспечивает очередь заданий для выполнения и следит когда вся работа закончится.
Ответить с цитированием