30812

ПОТОКИ И ПРОЦЕССЫ

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-24

13.25 KB

2 чел.

ПОТОКИ И ПРОЦЕССЫ

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

Когда поток создается, ему назначается приоритет, соответствующий приоритету породившего его процесса. Процессы могут иметь следующие классы приоритетов:

- Реального времени (Real time)

- Высокий (High)

- Нормальный (Normal)

- Фоновый (Idle)

Ничто не ограничивает процесс одним потоком. Средства MFC или Win32 позволяют создавать дополнительные потоки, которые обычно используются для выполнения фоновых задач. Эти дополнительные потоки (рабочие) работают независимо от основного потока (а также друг от друга). Каждый поток обладает собственным стеком, но системные ресурсы (такие, как файлы и динамическая память) используются потоками совместно. Многопоточность приносит пользу при наличии нескольких задач, которые могут (хотя бы частично) работать одновременно.

Потоки координируются с помощью событий (events), которые передают информацию о состоянии одного или нескольких потоков. Событие может быть установленным (signaled) или сброшенным (unsignaled). Конкретный смысл событий может быть разным, но обычно они сигнализируют о блокировке потока.

Блокировку потока можно представить себе в виде цикла, непрерывно опрашивающего некоторую логическую переменную. Цикл продолжается до тех пор, пока переменная не примет значение TRUE. С технической точки зрения это не совсем точно, потому что заблокированный поток не производит активных опросов события. Вместо этого он приостанавливается, а система удаляет его из списка активных потоков. Лишь после того как блокирующее событие перейдет в установленное состояние, выполнение потока возобновляется. Соответственно заблокированный поток почти не расходует процессорного времени.

Блокировка потоков чаще всего используется для защиты совместных ресурсов от одновременного доступа со стороны нескольких потоков.

Мьютекс (mutex) представляет собой объект, который может в любой момент времени принадлежать лишь одному потоку, гарантируя безопасность доступа к связанному с ним ресурсу. Когда мьютекс принадлежит некоторому потоку, все остальные потоки, пытающиеся получить его в свое распоряжение, блокируются до освобождения мьютекса.

Критические секции (critical section), как и мьютексы, используются для предотвращения одновременного доступа к ресурсу со стороны нескольких потоков. Однако если мьютекс может синхронизировать межпроцессные потоки, критическая секция ограничивается потоками одного процесса. Ограничение компенсируется скоростью — критическая секция работает быстрее, чем мьютекс.

Семафоры (semaphore) тоже могут применяться для ограничения доступа к ресурсам, но в отличие от мьютексов или критических секций семафор разрешает одновременный доступ со стороны нескольких потоков. Доступ предоставляется всем потокам до тех пор, пока их количество не достигнет заданного предела. Все остальные потоки, желающие получить доступ, блокируются до тех пор, пока один или несколько потоков не прекратят работу с ресурсом.


 

А также другие работы, которые могут Вас заинтересовать

17644. Багатопроменева інтерференція еталон Фабрі-Перо 961.05 KB
  Багатопроменева інтерференція : еталон ФабріПеро. Дифракційна гратка приклад багатопроменевої Інтерференції. Еталон ФабріПеро 2 дзеркала розділені проміжком Пучок багато разів проходить через нього. форлиЕйрі: різниця фаз між 2ома сусідніми пучками: δ=2n ...
17645. Вектор Джонса для типових станів поляризації 83.63 KB
  Вектор Джонса для типових станів поляризації. Загальний вигляд для де tg=Ax/Ay Из конспекта Всё напечатанное далее взято из энциклопедии: При аналитич. описании пооляризации обычно не рассматриваються временные и пространственные изменений эл. магн. волны. Наиб. пр
17646. Властивості фотонів 30.19 KB
  Властивості фотонів. Поняття фотон вперше вивів Люіс 1929 р. Фотон квант електромагн. поля. Властивості фотона: 1. Енергія і імпульс: стала Планка момент імпульсу фотона. / / коментар Для фотона: . Фотон завжди релятивіська частинка. 2. А точніше:...
17647. Голограма Лейта і Упатнієкса (позаосьова) 19 KB
  Голограма Лейта і Упатнієкса позаосьова. Голографія метод запису та відновлення світлових хвиль що заснований на явищах інтерференції та дифракції когерентних пучків світла тобто безлінзове отримання оптичних зображень шляхом відновлення хвильового фронту. Іде
17648. Двопроменева інтерференція Інтерферометр Майкельсона 46.26 KB
  Двопроменева інтерференція: Інтерферометр Майкельсона. Світло від протяжного джерела світла S потрапляє на плоско паралельну розділювальну пластинку P1 покриту напівпрозорим тонким шаром срібла або алюмінію. Ця пластинка частково пропускає частково відбиває світло
17649. Двопроменева інтерференція інтерферометр Релея 23.48 KB
  Двопроменева інтерференція інтерферометр Релея Когерентні хвилі одержують поділом пучка хвиль. За допомогою двопроменевої інтерференції вимірюють : оптичну густину речовини дослідження зміни густини середовища в часі виміри лінійних зсувів тіл гравіметр
17650. Дисперсійна призма кутова дисперсія, роздільна здатність 69.56 KB
  Дисперсійна призма: кутова дисперсія роздільна здатність. Дисперсійна призма призма з прозорого для досліджуваного випромінювання матеріалу використовується для отримання дисперсії електромагнітного випромінювання. Кутова дисперсія і роздільна здатність є важ
17651. Дифракція на краю екрана. Спіраль Корню 98.87 KB
  Дифракція на краю екрана. Спіраль Корню. В деяких задачах краще розбивати хвильовий фронт на смугові зони зони Шустера. Припустимо хвильовий фронт плоский. Площина хвильового фронту AB перпенд. до площини. Проведемо коаксіальні циліндричні поверхні вісь яких точка P...
17652. Дифракція рентгенівських променів на кристалічній гратці формули Лауе 58.53 KB
  Дифракція рентгенівських променів на кристалічній гратці: формули Лауе. Трехмерные пространственные решетки обладают периодичностью в трех различных направлениях. Кристаллическая решетка является трехмерной пространственной решеткой с малым периодом. На ней дифр