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