Эффективный выход из многопоточного приложения (подробности)

Я прочитал несколько источников о правильных методах передачи сообщения из потока во все другие потоки для корректного завершения (каждый поток выполняет свою собственную процедуру выхода). Из них мне понравилась идея глобального атомарного логического значения, которое может быть помечено из любого потока, и все другие потоки проверяют этот флаг для выполнения процедуры выхода - когда все потоки объединены, основной поток может выйти из приложения.

Чисто вычислительные потоки, вероятно, обрабатывались бы иначе, правильно?

Это эффективно и безопасно? Есть ли лучший способ сделать это?

Спасибо!

6
задан oneminute 1 December 2010 в 13:19
поделиться