30812

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

Доклад

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

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

Русский

2013-08-24

13.25 KB

2 чел.

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

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

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

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

- Высокий (High)

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

- Фоновый (Idle)

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

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

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

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

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

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

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


 

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

41779. Команды MS-DOS. Среда операционной системы MS-DOS 250.79 KB
  Название команды Синтаксис команды Создание файла с консоли copy con имя файла Удаление файла del имя файла Переименование файла ren имя файла 1 имя файла 2 Редактирование файла edit имя файла Переход на диск имя диска Переход в каталог cd путь Сортировка по имени файлов каталога Ds Сортировка по расширению файлов каталога Ne Создание каталога md имя каталога Удаление каталога rd имя каталога Очистка экрана Cls Вывод содержимого файла на экран type имя файла Копирование файла copy путь 1 что копируется путь 2 куда копируется Поиск файла...
41780. ОПРЕДЕЛЕНИЕ ИЗОЭЛЕКТРИЧЕСКОЙ ТОЧКИ РАСТВОРОВ АМФОТЕРНЫХ ПОЛИЭЛЕКТРОЛИТОВ 118.87 KB
  Измерьте рН всех приготовленных растворов результаты внести в табл. Приготовление растворов 1 2 3 4 5 6 7 8 9 Объем 3 раствора желатина мл 20 20 20 20 20 20 20 20 20 Объем 005 М HCl мл 20 14 8 2 Объем 001 М NОН мл 2 8 14 20 Объем дистиллированной воды мл 6 12 18 20 18 12 6 4. Определите оптическую плотность растворов при помощи ФЭК56 со светофильтром № 4 синий и кюветой 30 мм.
41781. Программирование на языках Texno IL и Texno SFC 1.76 MB
  Создайте еще один канал. Установите период пересчета равным 1 секунде. Для удобства восприятия назовем новый канал «выключатель». Для создания выключателя необходимо щелкнуть левой клавишей мыши по иконке выключателя на рабочем столе.
41782. Изучение и анализ конструкций систем смазки транспортных двигателей 141.06 KB
  Вывод: Ознакомились с устройством систем смазки различных двигателей научились анализировать их конструктивные особенности.
41784. Создание цветных изображений с использованием цветов, контуров и инструментов заливки 6.16 MB
  Цели занятия: Научить создавать изображения с цветом контуром и инструментами заливки. Учащиеся должны научиться: Создает цветные изображения с использованием цветов контуров и инструментов заливки. Различают восемь типов заливок: однородные или сплошные заливки; градиентные заливки; заливки двухцветным узором; заливки цветным узором; заливки точечным узором; текстурные заливки; заливки растром PostScript; сетчатые заливки.
41785. Изучение метода обратного рассеяния в волоконных световодах с помощью оптического рефлектометра 437.08 KB
  Изучение метода обратного рассеяния, способов определения параметров неоднородных оптических линейных трактов по рефлектограмме, получение навыков работы с оптическим рефлектометром.
41786. Настройка фрезерного станка с числовым программным управлением ЛФ260МФЗ на обработку заданной детали 2.95 MB
  Цель работы: 1 Ознакомится с устройством и органами управления фрезерногостанка с ЧПУ ЛФ260МФЗ и системой управления НЗЗ1М. Ознакомится с технологическими возможностями станка и способами их реализации. Органы управления размещены на пульте управления станка и системе управления НЗЗ1М.