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