Убедитесь, что все потоки завершены

В приложении формы выигрыша у меня есть массив потоков, которые запускаются следующим образом:

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 не подходит для моего сценария.

6
задан Xaqron 9 June 2011 в 02:52
поделиться