Например, введи глобальный счетчик. Только работу с ним делай через критическую секцию. При старте поток инкрементирует этот счетчик, а при завершении декрементирует. Новый поток не стартует, пока значение счетчика больше или равно какому-либо значению.
Еще можно воспользоваться специальным компонентом типа TThreadList (дополнительным, хотя, вроде в той же Indy такой есть). Найди реализацию, умеющую контролировать кол-во потоков.
|