ВУЗ:
Составители:
93
− Delay – функция аналогична предыдущей, но задержка дается в
миллисекундах;
− ThreadSwitchLowPriority – функция отдачи управления, отличается от
ThreadSwitch тем, что поток просит поместить его в очередь готовых
к выполнению, но низкоприоритетных потоков.
Планировщик NetWare использует несколько очередей готовых потоков
(рисунок 3.3). Только что созданный поток попадает в конец очереди RunList,
которая содержит готовые к выполнению потоки. После отказа от процессора
поток попадает в ту или иную очередь в зависимости от того, какой из
системных вызовов был использован при передаче управления. Поток
поступает в конец очереди RunList при вызове ThreadSwitch, в конец очереди
DelayedWorkToDoList при вызовах ThreadSwitchWithDelay или Delay или же в
конец очереди LowPriorityRunList при вызове ThreadSwitchLowPriority.
После того как выполнявшийся процессором поток завершит свой
очередной цикл выполнения, отдав управление с помощью одного из вызовов
передачи управления (или вызова ожидания на семафоре), планировщик
выбирает для выполнения стоящий первым в очереди RunList поток и
запускает его.
Потоки, находящиеся в очереди DelayedWorkToDoList, после завершения
условия ожидания перемещаются в конец очереди RunList.
Потоки, находящиеся в очереди LowPriorityRunList, запускаются на
выполнение только в том случае, если очередь RunList пуста. Обычно в эту
очередь назначаются потоки, выполняющие несрочную фоновую работу.
Очередь WorkToDoList является в системе самой приоритетной. В эту
очередь попадают так называемые рабочие потоки. В NetWare, как и в
некоторых других ОС, вместо создания нового потока для выполнения
определенной работы может быть использован уже существующий
системный поток. Пул рабочих потоков создается при старте системы для
93
− Delay – функция аналогична предыдущей, но задержка дается в
миллисекундах;
− ThreadSwitchLowPriority – функция отдачи управления, отличается от
ThreadSwitch тем, что поток просит поместить его в очередь готовых
к выполнению, но низкоприоритетных потоков.
Планировщик NetWare использует несколько очередей готовых потоков
(рисунок 3.3). Только что созданный поток попадает в конец очереди RunList,
которая содержит готовые к выполнению потоки. После отказа от процессора
поток попадает в ту или иную очередь в зависимости от того, какой из
системных вызовов был использован при передаче управления. Поток
поступает в конец очереди RunList при вызове ThreadSwitch, в конец очереди
DelayedWorkToDoList при вызовах ThreadSwitchWithDelay или Delay или же в
конец очереди LowPriorityRunList при вызове ThreadSwitchLowPriority.
После того как выполнявшийся процессором поток завершит свой
очередной цикл выполнения, отдав управление с помощью одного из вызовов
передачи управления (или вызова ожидания на семафоре), планировщик
выбирает для выполнения стоящий первым в очереди RunList поток и
запускает его.
Потоки, находящиеся в очереди DelayedWorkToDoList, после завершения
условия ожидания перемещаются в конец очереди RunList.
Потоки, находящиеся в очереди LowPriorityRunList, запускаются на
выполнение только в том случае, если очередь RunList пуста. Обычно в эту
очередь назначаются потоки, выполняющие несрочную фоновую работу.
Очередь WorkToDoList является в системе самой приоритетной. В эту
очередь попадают так называемые рабочие потоки. В NetWare, как и в
некоторых других ОС, вместо создания нового потока для выполнения
определенной работы может быть использован уже существующий
системный поток. Пул рабочих потоков создается при старте системы для
Страницы
- « первая
- ‹ предыдущая
- …
- 91
- 92
- 93
- 94
- 95
- …
- следующая ›
- последняя »
