Поделиться через


Процессы и потоки

Приложение состоит из одного или нескольких процессов. Процесс , в простейших терминах, — это программа выполнения. Один или несколько потоков выполняются в контексте процесса. поток — это базовая единица, для которой операционная система выделяет время процессора. Поток может выполнять любую часть кода процесса, включая части, которые в настоящее время выполняются другим потоком.

Объект задания позволяет управлять группами процессов как единицей. Объекты задания — это именуемые, защищаемые, совместно используемые объекты, управляющие атрибутами процессов, связанных с ними. Операции, выполняемые в объекте задания, влияют на все процессы, связанные с объектом задания.

Пул потоков — это коллекция рабочих потоков, которые эффективно выполняют асинхронные обратные вызовы от имени приложения. Пул потоков в основном используется для уменьшения количества потоков приложения и управления рабочими потоками.

волокна — это единица выполнения, которая должна быть запланирована приложением вручную. Волокна выполняются в контексте потоков, которые планируют их.

планирование в пользовательском режиме (UMS) — это упрощенный механизм, который приложения могут использовать для планирования собственных потоков. Потоки UMS отличаются от волокон в том, что каждый поток UMS имеет собственный контекст потока вместо совместного использования контекста потока одного потока.