![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Потоки, управляющие другими потоками
В то время как процессы могут управлять другими процессами, если между ними установлены отношения типа «родитель-потомок», потоки одного процесса считаются равноправными и находятся на одном уровне, независимо от того, кто кого создал. Любой поток, имеющий доступ к идентификационному номеру (id) некоторого другого потока, может отменить, приостановить, возобновить выполнение э того потока либо изменить его приоритет. Отмена основного потока приведет к завершению всех потоков процесса, т.е. к ликвидации процесса. Любые изменения, внесенные в основной поток, могут повлиять на все потоки процесса. При изменении приоритета процесса все его потоки, которые унаследовали этот приоритет, должны также изменить свои приоритеты. Сходства и различия между потоками и процессами сведены в табл. 4.1. Таблица 4.1. Сходства и различия между потоками и процессами Сходства • Оба имеют идентификационный номер (id), состояние, набор регистров, приоритет и привязку к определенной стратегии планирования • И поток, и процесс имеют атрибуты, которые описывают их особенности для операционной системы • Как поток, так и процесс имеют информационные блоки • Оба разделяют ресурсы с родительским процессом • Оба функционируют независимо от родительского процесса • Их создатель может управлять потоком или процессом • И поток, и процесс могут изменять свои атрибуты • Оба могут создавать новые ресурсы • Как поток, так и процесс не имеют доступа к ресурсам другого процесса Различия • Потоки разделяют адресное пространство процесса, который их создал; процессы имеют собственное адресное пространство • Потоки имеют прямой доступ к разделу данных своего процесса; процессы имеют собственную копию раздела данных родительского процесса • Потоки могут напрямую взаимодействовать с другими потоками своего процесса; процессы должны использовать специальный механизм межпроцессного взаимодействия для связи с «братскими» процессами • Потоки почти не требуют системных затратна поддержку процессов требуются значительные затраты системных ресурсов • Новые потоки создаются легко; новые процессы требуют дублирования родительского процесса • Потоки могут в значительной степени управлять потоками того же процесса; процессы управляют только сыновними процессами • Изменения, вносимые в основной поток (отмена, изменение приоритета и т.д.), могут влиять на поведение других потоков процесса; изменения, вносимые в родительский процесс, не влияют на сыновние процессы
|