й wait() до того момента, когд
Автор admin Суббота, 27 июня 2009 11:32
й wait() до того момента, когда процесс WaxOff вызовет buffed() для объекта саг, изменит состояние и оповестит об этом. С другой стороны, waxOff::run() немедленно переходит к вызову waitForWaxing(), а следовательно, приостанавливается до момента, когда WaxOn выполнит свою задачу и вызовет waxed(). Если запустить эту программу, вы увидите, что процесс повторяется по мере передачи управления между двумя потоками. При нажатии клавиши Enter функция interrupt) останавливает оба потока: когда interrupt) вызывается для объекта Executor, последний вызывает interrupt) для всех потоков, находящихся под его управлением. 1 В отличие от языка Java, где для вызова notify() (аналога signal() в Java) необходимо предварительно установить блокировку. Хотя программные потоки стандарта Posix, взятые за основу при проектировании ZThread, не требуют установления блокировки для вызова signal() или broadcast^), часто это рекомендуется. 2 На некоторых платформах существует третий способ выхода из waitQ, называемый спонтанной активизацией. Фактически это означает, что программный поток может преждевременно выйти из состояния бло
Комментарии закрыты.
Последние комментарии