30812

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

Доклад

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

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

Русский

2013-08-24

13.25 KB

2 чел.

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

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

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

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

- Высокий (High)

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

- Фоновый (Idle)

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

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

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

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

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

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

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


 

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

13301. Линейный корректор 36.29 KB
  Линейный корректор Ослабленный и искаженный в процессе прохождения по кабельной линии цифровой сигнал через симметрирующий трансформатор Тр1 поступает на вход линейного корректора ЛК осуществляющего коррекцию формы принимаемых импульсов и их усиление. Амплитудноча...
13302. Обобщенная схема регенератора импульсов 4.86 KB
  Обобщенная схема регенератора импульсов Целью работы является создание программы позволяющей наглядно проиллюстрировать работу Регенератора импульсоварегенератор. Требуется показать вид сигнала в его основных точках. Выберем обобщенную схему регенератора импульсо...
13303. ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО 1.99 MB
  Жилищный фонд включает недвижимое имущество с установленными правами владения, пользования и распоряжения в границах имущества: земельные участки и прочно связанные с ними жилые дома с жилыми и нежилыми помещениями, хозяйственные приусадебные постройки, зеленые насаждения с многолетним циклом развития
13304. Siemens. Каскадне регулювання Ручна установка параметрів регулювання без знання характеристики обладнання 681 KB
  Siemens. Каскадне регулювання Ручна установка параметрів регулювання без знання характеристики обладнання Параметри регулювання для оптимального регулювання устаткування в цьому випадку ще невідомі. Для утримання регулюючого контура в стабільному стані є наступні з...
13305. Вивчення і дослідження автоматичної системи позиційного регулювання 872.5 KB
  Лабораторна робота №1 Вивчення і дослідження автоматичної системи позиційного регулювання Тема: Вивчення і дослідження автоматичної системи позиційного регулювання Мета: Навчитись працювати з універсальним локальним регулятором ТРМ138 в якості системи позиційно...
13306. Анализ комплекса геодезических работ выполняемых на объекте Многоквартирный жилой дом в р.п. Ванино 4.51 MB
  Рассмотрены вопросы проектирования и строительства инженерных сооружений. Раскрыт состав геодезических работ. На примере данного объекта рассмотрен комплекс инженерно-геодезических изысканий. Затронут вопрос геодезического контроля и сроках сдачи исполнительных съёмок.
13307. Розробка програмного забезпечення для візуалізації управління технологічною ділянкою 1.32 MB
  Лабораторна робота №5 Розробка програмного забезпечення для візуалізації управління технологічною ділянкою Тема: Дослідження мікропроцесорного контролера МІК51 для керування технологічною ділянкою Мета: Навчитись працювати з мікропроцесорного контролера МІК5...
13308. Дослідження автоматичної системи регулювання на базі регуляторів ТРМ-101 548 KB
  Лабораторна робота №4 Дослідження автоматичної системи регулювання на базі регуляторів ТРМ101 Тема: Вивчення і дослідження автоматичної системи позиційного регулювання Мета: Навчитись працювати з універсальним локальним регулятором ТРМ101 в якості системи пози
13309. Вивчення і дослідження автоматичної системи позиційного та ПИД регулювання 1.5 MB
  Тема: Вивчення і дослідження автоматичної системи позиційного та ПИД регулювання. Мета: Навчитись працювати з регуляторами температури одно канальний РТпозиційний та двоканальний РТПИД фірми ТЕРА. Вступ Автоматизація повсюдно рахується головним найбільш персп...