В приложении формы выигрыша у меня есть массив потоков, которые запускаются следующим образом:
bool stop = false;
Thread[] threads = new Thread[10];
for (int i = 0; i < threads.Length; i++)
threads[i] = new Thread(new ThreadStart(Job));
// How to make sure all threads have exited, when the boolean = false
void Job()
{
while (!stop)
// Do something
}
Теперь, если пользователь нажмите STOP, логическое значение для stop
будет установлено в true, поэтому потоки будут выходить из метода Job
один за другим. Как я могу убедиться, что все потоки завершены?
ПРИМЕЧАНИЕ: В моем случае мне нужна традиционная многопоточность, а TaskLibrary
не подходит для моего сценария.