Основы программирования в Win32API. Марапулец Ю.В. - 18 стр.

UptoLike

Составители: 

объектов. Хотя каждый синхронизирующий объект координирует определен-
ный вид взаимодействия, все они функционируют сходным образом. Поток, ко-
торый должен выполнить определенную синхронизируемую операцию, ожидает
ответ от одного из этих объектов и осуществляет свои функции только после
получения на то разрешения. Программа-планировщик удаляет ожидающие
объекты из очереди запуска с тем, чтобы они не занимали времени центрального
процессора. После получения соответствующего сигнала планировщик возоб-
новляет работу потока. Место и способ получения сигнала зависят от конкрет-
ного объекта.
Исключающие семафоры, обычные семафоры и события позволяют коор-
динировать работу потоков, принадлежащих разным процессам, в то время как
критические разделы воспринимаются лишь потоками одного процесса. Если
один процесс создает другой процесс, дочерний процесс часто наследует деск-
рипторы имеющихся синхронизирующих объектов. Объекты критических раз-
делов не могут быть унаследованы.
С фундаментальной точки зрения синхронизирующий объект, подобно
другим системным объектам, представляет собой структуру данных. Синхро-
низирующие объекты могут находиться в двух состояниях: при наличии сиг-
нала и при отсутствии такового. Потоки взаимодействуют с синхронизирую-
щими объектами путем установки сигнала или путем его ожидания. Поток,
находящийся в состоянии ожидания, блокируется и не выполняется. При на-
личии сигнала ожидающий поток завладевает объектом, выключает сигнал,
выполняет определенные синхронизирующие операции, а затем опять включа-
ет сигнал и освобождает объект.
Потоки могут ожидать разрешения не только от исключающих и обычных
семафоров, событий и критических разделов, но и от других объектов. Иногда
возникает ситуация, когда необходимо ожидать разрешения от процесса, дру-
гого потока, таймера или файлового объекта. Все эти объекты имеют свое
предназначение, но подобно синхронизирующим объектам они способны да-
вать сигналы разрешения. Процессы и потоки сигнализируют
о своем завершении, объекты-таймерыоб истечении определенного интерва-
ла времени, а файловые объектыо завершении операций чтения или записей
файлов. Потоки могут ожидать появления любого из этих сигналов.
18
объектов. Хотя каждый синхронизирующий объект координирует определен-
ный вид взаимодействия, все они функционируют сходным образом. Поток, ко-
торый должен выполнить определенную синхронизируемую операцию, ожидает
ответ от одного из этих объектов и осуществляет свои функции только после
получения на то разрешения. Программа-планировщик удаляет ожидающие
объекты из очереди запуска с тем, чтобы они не занимали времени центрального
процессора. После получения соответствующего сигнала планировщик возоб-
новляет работу потока. Место и способ получения сигнала зависят от конкрет-
ного объекта.
     Исключающие семафоры, обычные семафоры и события позволяют коор-
динировать работу потоков, принадлежащих разным процессам, в то время как
критические разделы воспринимаются лишь потоками одного процесса. Если
один процесс создает другой процесс, дочерний процесс часто наследует деск-
рипторы имеющихся синхронизирующих объектов. Объекты критических раз-
делов не могут быть унаследованы.
     С фундаментальной точки зрения синхронизирующий объект, подобно
другим системным объектам, представляет собой структуру данных. Синхро-
низирующие объекты могут находиться в двух состояниях: при наличии сиг-
нала и при отсутствии такового. Потоки взаимодействуют с синхронизирую-
щими объектами путем установки сигнала или путем его ожидания. Поток,
находящийся в состоянии ожидания, блокируется и не выполняется. При на-
личии сигнала ожидающий поток завладевает объектом, выключает сигнал,
выполняет определенные синхронизирующие операции, а затем опять включа-
ет сигнал и освобождает объект.
     Потоки могут ожидать разрешения не только от исключающих и обычных
семафоров, событий и критических разделов, но и от других объектов. Иногда
возникает ситуация, когда необходимо ожидать разрешения от процесса, дру-
гого потока, таймера или файлового объекта. Все эти объекты имеют свое
предназначение, но подобно синхронизирующим объектам они способны да-
вать    сигналы    разрешения.     Процессы     и   потоки    сигнализируют
о своем завершении, объекты-таймеры – об истечении определенного интерва-
ла времени, а файловые объекты – о завершении операций чтения или записей
файлов. Потоки могут ожидать появления любого из этих сигналов.




                                    18