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

Обычно это делается по другому.
1. Создается очередь (можно TList или TObjectList).
2. Главный поток/приложение "напихивает" в эту очередь задания.
3. Каждый поток смотрит в очередь, если там есть задание, то он его берет себе, а из очереди удаляет. Если ничего нет, то засыпает на некоторое время.
4. Не забываем сделать синхронизацию через CriticlSection при доступе к очереди.
Ответить с цитированием