рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции WIN 32 API.

Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции WIN 32 API. - раздел История, Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития   Виды Межпроцессорного Взаимодействия (Ipc) Предотвра...

 

Виды межпроцессорного взаимодействия (IPC)

Предотвращение критических ситуаций

Синхронизация процессов

Передача информации от одного процесса другому

 

Взаимодействие между процессами (IPC)

1. DDE (Dynamic Data Exchange),

2. OLE,

3. atom (атомы)

4. pipes (анонимные каналы),

5. named pipes (именованные каналы)

6. почтовые ящики (mailslots)

7. RPC

8. сокеты

9. файлы, проецируемые в память (memory-mapped files)

10. разделяемая память (Shared Memory). Отличается от предыдущего способа только тем, что в качестве разделяемого файла используется часть файла подкачки.

 

Сообщения WM_COPYDATA Лучший способ пересылки блока данных из одной программы в другую.
Анонимные каналы (Anonymous pipes) Полезны для организации прямой связи между двумя процессами на одном ПК.
Именованные каналы (Named pipes) Полезны для организации прямой связи между двумя процессами на одном ПК или в сети.
Почтовые ячейки (mailslots) Полезны для организации связи одного процесса со многими на одном ПК или в сети.
Гнезда (sockets) Полезны для организации пересылки данных в гетерогенных средах.
Вызов удаленных процедур RPC Слишком сложен, чтобы использовать его для простых пересылок данных.
Разделяемая память Непросто выделить вне DLL.
Файлы отображаемой памяти Обеспечивают одновременный доступ к объектам файла отображения из нескольких процессов.

 

Атомы это очень простой и доступный путь IPC. Идея состоит в том, что процесс может поместить строку в таблицу атомов и эта строка будет видна другим процессам. Когда процесс помещает строку в таблицу атомов, он получает 32-х битное значение (атом), и это значение используется для доступа к строке. Система не различает регистр строки.

Набор атомов собирается в таблицу (atom table). Система обеспечивает несколько таблиц атомов для разных задач. По типу доступа их два типа:

Локальные (доступны только из приложения)

Глобальные (доступны из всех приложений)

 

Функции WIN 32 API для атомов

GlobalAddAtom

GlobalGetAtomName

GlobalFindAtom

GlobalDeleteAtom

 

Сообщение WM_COPYDATA

Отправитель:

COPYDATASTRUCT cds;

cds.cbData = (DWORD) nSize;

cds.lpData = (PVOID) pBuffer;

SendMessage (hWndTarget, WM_COPYDATA, (WPARAM) hWnd, (LPARAM) &cds);

Получатель:

PCOPYDATASTRUCT pcds = (PCOPYDATASTRUCT) lParam;

PBYTE pBuffer = (PBYTE) pcds -> lpData;

Сообщение WM_COPYDATA позволяет приложениям копировать данные между их адресными пространствами. При этом приложения не обязательно должны быть 32-разрядными — для 16-разрядных приложений поддерживается автоматическая трансляция указателей.

 

Перед отправкой сообщения WM_COPYDATA необходимо инициализировать структуру COPYDATASTRUCT с информацией о предстоящей пересылке данных, в том числе с указателем на блок данных. Затем с помощью функции SendMessage сообщение WM_COPYDATA пересылается в принимающую программу; при этом параметр wParam содержит дескриптор окна вашей программы, а lParam - адрес структуры COPYDATASTRUCT.

 

Когда сообщение поступает обработчику WM_COPYDATA принимающей программы, его средствами указатель может быть скопирован из структуры COPYDATASTRUCT и использован, как любой другой указатель.

 

В принимающем процессе размер блока данных, адрес которого содержит lpData, извлекается из элемента cbData. Значение, считываемое из элемента lpData принимающей программой, возможно, будет отличаться от значения, помещенного туда отправляющей программой. Этого следовало ожидать, поскольку перед передачей сообщения WM_COPYDATA операционная система Windows NT выделяет в адресном пространстве принимающего процесса блок памяти, копирует данные из отправляющего процесса и обновляет значение lpData. По всей вероятности, в адресных пространствах этих процессов адреса размещении блока не совпадут.

 

В структуре COPYDATASTRUCT имеется третье, необязательное поле, dwData, в котором можно передать 32-разрядное значение, определяемое в программе. Только не передавайте в этом поле указатель, потому что в принимающем процессе он не будет воспринят.

 

При использовании метода WM_COPYDATA необходимо помнить об одной детали: сообщения должны именно пересылаться, а не просто регистрироваться. Для того чтобы освободить память, выделенную в адресном пространстве принимающего процесса, операционная система должна быть информирована о моменте завершении пересылки. Кроме того, получатель сообщения WM_COPYDATA должен обращаться с блоком данных так, словно он предназначен только для чтения. Чтобы внести изменении в полученные данные, в принимающей программе необходимо подготовить их локальную копию. И наконец, не следует сохранять указатель, переданный в элементе lpData, дл применения его в дальнейшем.

 

NPFS (Named Pipe File System)

Named Pipe File System является виртуальной файловой системой, которая управляет каналами named pipes.

Каналы named pipes относятся к классу файловых объектов (API Win32).

RPC реализован как надстройка над NPFS;

Канал представляет собой виртуальное соединение, по которому передается информация от одного процесса к другому.

Канал может быть однонаправленным или двунаправленным (дуплексным).

 

Работа с именованными каналами

Серверный процесс создает канал на локальном компьютере с помощью функции программного интерфейса Win32 "CreateNamedPipe".

Серверный процесс активизирует канал при помощи функции "ConnectNamedPipe", после чего к каналу могут подключаться клиенты.

Далее производится подключение к каналу computer_namepipepipe_name посредством вызова функции "Create File".

 

Создание именованного канала

HANDLE CreateNamedPipe (

LPCTSTR lpName,
DWORD dwOpenMode,
DWORD dwPipeMode,
DWORD nMaxInstances,
DWORD nOutBufferSize,
DWORD nInBufferSize,
DWORD nDefaultTimeOut,
LPSECURITY_ATTRIBUTES lpSecurityAttributes

);

Параметры создания канала

lpName – имя именованного канала;

dwOpenMode – определяет направление передачи, возможные варианты - PIPE_ACCESS_DUPLEX, PIPE_ACCESS_INBOUND, PIPE_ACCESS_OUTBOUND ;

dwPipeMode – способ передачи информации (PIPE_TYPE_BYTE или PIPE_TYPE_MESSAGE

nMaxInstances – количество каналов с данным именем которые может открыть пользователь;

nOutBufferSize и nInBufferSize – размер буферов приема и отправки;

nDefaultTimeout – максимальное время ожидания при асинхронном вводе/выводе через канал;

lpSecurityAttributes – указатель на структуру SECURITY_ATTRIBUTES, которая задает уровень защиты создаваемого объекта.

Подключение к именованному каналу

BOOL ConnectNamedPipe (

HANDLE hNamedPipe,
LPOVERLAPPED lpOverlapped

);

BOOL DisconnectNamedPipe (

HANDLE hNamedPipe

);

 

После того как канал создан, сервер подключается к нему с помощью функции ConnectNamedPipe () и начинает ожидать подключения клиента.

Необходимо отметить, что подключение сервера к каналу может осуществляться как синхронным, так и асинхронным способом. В первом случае ConnectNamePipe возвращает управление программе лишь после того, как клиент подключился к каналу, во втором же случае, возврат управления происходит сразу же, а уведомление программы о подключении осуществляется через структуру OVERLAPPED , указатель на которую передается вторым параметром в ConnectNamedPipe.

После завершения обмена необходимо отключиться от канала с помощью функции DisconnectNamedPipe.

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

Обмен данными по именованному каналу

BOOL ReadFile/WriteFile (

HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped

);

Работа с каналом и ее завершение

После установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при помощи пар функций "ReadFile" и "WriteFile".

При помощи одного и того же канала сервер может одновременно обслуживать нескольких клиентов. Для этого серверный процесс может создать N-ное количество экземпляров канала, вызвав N-ное количество раз функцию "CreateNamedPipe" (при этом в каждом вызове должно быть указано одно и то же имя канала).

Клиентский процесс может отключиться от канала в любой момент с помощью функции "CloseHandle". Серверный процесс может отключить клиента в любой момент с помощью функции "DisconnectNamedPipe".

 

Почтовые ящики (MailSlots)

Mailslot является одним из механизмов, предназначенных для осуществления обмена данными между процессами (IPC). При этом процессы могут быть запущены как на одной ПЭВМ (локально), так и разных ПЭВМ, включённых в одну ЛВС (удалённо).

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

Mailslot представляет собой псевдофайл, хранящийся в памяти. Для доступа к данным, содержащимся в этом псевдофайле, используются стандартные файловые функции Win32.

Объект Mailslot является временным объектом. После того, как будет закрыт последний дескриптор, ссылающийся на объект Mailslot, сам объект с данными будет уничтожен.

Обмен данными посредством Mailslot осуществляется в большинстве случаев между двумя процессами – клиентом и сервером.

При создании объекта Mailslot сервером, имя объекта должно иметь следующий формат: .mailslot[path]name Имя объекта Mailslot должно содержать две наклонные черты влево, точку, ещё одну наклонную черту влево, слово «mailslot» и последнюю наклонную черту. После последней наклонной черты указывается собственно имя создаваемого объекта. Имя может также содержать путь. Примеры имени создаваемого объекта Mailslot:

1. .mailslotTest.msl

2. .mailslotSampleDirSample

Форматы имени клиента

Для того чтобы записать сообщение в Mailslot, клиент обращается к нему по имени. При этом если клиент и сервер запушены на одной ПЭВМ, то формат имени, используемый клиентом, может совпадать с форматом имени сервера. Однако чаще необходимо записывать сообщения в удалённый Mailslot, для чего необходимо использовать следующий формат имени объекта Mailslot: ComputerNamemailslotTest.msl Здесь ComputerName – сетевое имя ПЭВМ, на которой расположен сервер Mailslot.

Для того чтобы клиент мог поместить сообщение в каждый Mailslot с данным именем, созданный в пределах домена, формат имени объекта Mailslot для клиента должен быть следующим: DomainNamemailslotTest.msl Здесь DomainName – имя домена, включающие в себя те ПЭВМ, на которых запущены серверы Mailslot. Для того чтобы клиент мог поместить сообщение в каждый Mailslot с данным именем в первичном системном домене, имя объекта Mailslot должно иметь следующую форму: *mailslotTest.msl

 

Клиенты, сервера и имена

MailSlot cервер – является процессом, который создает и, обладает MailSlot. Когда сервер создает MailSlot, он получает указатель. Этот указатель должен использоваться, когда процесс читает сообщения от MailSlot. Только процесс, который создает MailSlot или получил указатель некоторым другим механизмом может прочитать данные из MailSlot. Все MailSlot локальные на процессе, который создает их; процесс не может создать дистанционный MailSlot.

MailSlot клиент – является процессом, который пишет сообщение в MailSlot. Любой процесс, который имеет имя MailSlot может записать в него информацию.

 

 

Создание почтового ящика на сервере

HANDLE CreateMailslot (

// имя ящика

LPCTSTR lpName,

// максимальный размер сообщения

DWORD nMaxMessageSize,

// интервал-тайм аута чтения

DWORD lReadTimeout,

// информация о безопасности

LPSECURITY_ATTRIBUTES lpSecurityAttributes

);

Формат имения ящика

Для открытия ящика, созданного на другом компьютере в сети, необходимо указать имя в формате

ИмяКомпьютераmailslot[Путь] ИмяЯщика

Можно открыть доменный ящик для передачи информации сразу всем компьютерам указанного домена. Для этого формируется имя

ИмяДоменаmailslot[Путь]ИмяЯщика

Для передачи сообщения всем компьютерам первичного домена имя ящика задается в форме

*mailslot[Путь] ИмяЯщика

 

Создание клиента почтового ящика

HANDLE hSlot = CreateFile(("\computernamemailslotmessngr", GENERIC_WRITE, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (hSlot != INVALID_HANDLE_VALUE)

{
char buf = "FromToMessage";
uint cb = sizeof(buf);
WriteFile(hSlot, buf, cb, &cb, NULL);

}

 

– Конец работы –

Эта тема принадлежит разделу:

Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции WIN 32 API.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Машинный язык.
Микропрограмма действует просто как интерпретатор, который получает машинные команды, такие как MOVE, JUMP или ADD, и выполняет их в несколько маленьких шагов. Набор интерпретируемых инструкций опр

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

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

Процессы и потоки.
Процесс – абстракция, описывающая выполняющуюся программу. Для ОС процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Одним из основных ресурсов является ад

Состояния процессов и потоков.
Выделяют 3 основных дискретных состояния процесса (потока): - Готов к выполнению – ждет ЦП; - Выполняется – выделен ЦП; - Приостановлен (блокирован) – ждет некоторого соб

Поддержка многозадачности.
По числу одновременно выполняемых задач ОС могут быть разделены на два класса: - однозадачные (например, MS-DOS, MSX); - многозадачные (OC EC, UNIX, Windows 9х, NT и выше).

Многозадачность.
Способ распределения процессорного времени между несколькими одновременно существующими в системе задачами (процессами или потоками) в режиме мультипрограммирования во многом определяет специфику О

Дисциплины обслуживания.
Бесприоритетные дисциплины – выбор из очереди производится без учета относительной важности задач и времени их обслуживания. Приоритетное обслуживание – отдельным задачам пре

Поддержка многопользовательского режима.
По числу “одновременно” работающих пользователей ОС делятся на: - однопользовательские (MS-DOS, Windows 3.x, Windows 9x); - многопользовательские (UNIX, Windows NT, 2000-2007).

Многопроцессорная обработка.
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

Особенности алгоритмов управления ресурсами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов – процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в т

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

Системы пакетной обработки.
  Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к р

Системы реального времени.
Системы реального времени применяются для управления различными техническими объектами, такими, (станок, научная экспериментальная установка) или технологическими процессами (гальв

Многоуровневая структура.
Развитием монолитного подхода является многоуровневый, когда ОС реализуется как иерархии уровней. Уровни образуются группами функций ОС – файловая система, управление процессами и устройст

Монолитное ядро.
Наиболее распространенным и классическим вариантом реализации ядерного подхода является моноли́тное ядро́. Монолитность ядер усложняет их отладку, понимание кода

Модульное ядро.
Cовременная, усовершенствованная модификация архитектуры монолитных ядер ОС. В отличие от «классических» монолитных ядер, считающихся ныне устаревшими, модульные ядра, как правило, не треб

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

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

Этап (1940-60).
Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появились, все задачи организации вычислительного процесса решались программистом вручную с пульта управления.

Этап (1965-75).
1965-1975 годы переход к ИС, новое поколение ЭВМ – IBM/360, многопроцессорная ЭВМ для централизованных вычислений. Реализованы основные концепции, присущие современным ОС: - мульт

Этап (1970-80).
Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между

Этап (1980-90).
Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов – появление персональных компьютеров (ПК), которые стали мощным катализатором для бурног

Операционная система MS Windows 2000 и выше. Общая характеристика и основные функции. Структура MS Windows 2000-2003. Объекты в MS Windows 2000-2003.
  2.2 Основная характеристика Windows 2000-2008.   Система Windows 2000-2008 не является дальнейшим развитием ранее существовавших пр

Краткая характеристика.
  l Многоуровневая ОС. l Ядро работает в защищенном режиме. l Присутствует микроядро, но оно дополнительно не защищено от остальных фрагментов ядра (т.е. по сути при

Структура ядра.
l Исполняющая система, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами; Важные для производительности О

Типы объектов Windows 2000-2008.
Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они доступны программам пользовательского режима (защищенным

Структура объектов Windows 2000-2003.
Имя объекта Делает объект видимым другим процессам для совместного использования Каталог объектов Обеспечивает иерархичес

Защита объектов.
ОС Windows 2000 поддерживает два вида контроля доступа к объектам: - управление избирательным доступом (discretionary access control) – основной механизм контроля д

Избирательный доступ.
Основан на списках контроля доступа (access control list, ACL), которые описывают каким пользователям можно выполнять какие операции. При отсутствии ACL объект является незащищенным, и сис

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

RAID - 0.
Представляет собой дисковый массив, в котором данные разбиваются на блоки, и каждый блок записываются (или же считывается) на отдельный диск. Таким образом, можно осуществлять несколько оп

RAID - 1.
Зеркалирование - традиционный способ для повышения надежности дискового массива небольшого объема. В простейшем варианте используется два диска, на которые записываетс

RAID - 4.
Данные разбиваются на блочном уровне. Каждый блок данных записывается на отдельный диск и может быть прочитан отдельно. Четность для группы блоков генерируется при записи и проверяется при чтении.

Сравнение RAID-систем.
  Составные RAID системы: l RAID 0+1 / RAID 1+0 l RAI

Фрагментация и дефрагментация.
Файл, который занимает на диске более одного непрерывного участка, называется фрагментированным. Фрагментация диска- это появление на диске множества свободных учас

Long File Names.
FAT32 преодолела ограничение прежней системы наименования файлов "8.3". В VFAT имя файла может содержать до 255 символов. К счастью, FAT32 воспринимает файлы, которые уже существовали на

Перечень метафайлов
$MFT список содержимого тома NTFS $MFTmirr копия первых 4 записей таблицы MFT $LogFile

Заголовок атрибута
Смещение, байт Размер, байт Описание 0x00 Тип атрибута 0x04

Атрибуты файлов NTFS - 1
Standard Information (стандартная информация) Стандартный атрибут. Дата и время создания и последнего изменения файла, дата и время последнего доступа к файлу

Атрибуты файлов NTFS - 2
Volume Version версия тома, используется только в системных файлах тома Volume Information (информация о томе) Использует

Страничное распределение.
Виртуальное адресное пространство (ВАП) каждого процесса делится на части одинакового, фиксированного для данной ОС размера, называемые виртуальными страницами. Размер страницы кратен степени двойк

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

Сегментно-страничное распределение.
Данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. ВАП процесса делится на сегменты,

Архитектура API управления памятью.
    Адресное пространство процесса:

Проецируемые файлы.
“Как и виртуальная память, проецируемые файлы позволяют резервировать регион адресного пространства и передавать ему физическую память. Различие между этими механизмами состоит в том, что в последн

Взаимодействие процессов через общую область данных
      Для обеспечения когерентности процессы должны работ

Объекты Windows .
Основные понятия: Задание – набор процессов, управляемых как единое целое, с общими квотами и лимитами Процесс – контейнер для ресурс

Процессы.
Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы. Понятие "процесс" включает следующее: - исполняемый код;

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

Волокна (fibers).
Введены в Windows 2000 для переноса существующих серверных приложений из UNIX. Реализованы на уровне кода пользовательского режима. В потоке может быть одно или несколько волокон. Для ядра

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

Граф состояний потоков в MS Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
16.1 Граф состояний потоков в MS Windows 2000.

Граф состояний потоков в MS Windows 2000-2003. Особенности планирования в многопроцессорных системах.
17.2 Особенности планирования в многопроцессорных системах.   Управление потоками в МПС: Операционные системы Wind

Граф состояний потоков в MS Windows 2000-2003. Особенности планирования в ОС MS Windows Vista и Server 2008.
18.2 Особенности планирования в ОС MS Windows Vista и Server 2008.   Проблема неравномерного распределения ресурсов процессора:

Планирование загрузки процессорного времени в MS WINDOWS 2000-2003. Функции WIN 32 API создания и завершение процессов и потоков, управление потоками
  Планирование загрузки процессорного времени: В Windows реализована вытесняющая многозадачность, при которой ОС не ждет, когда поток сам захочет освободить

Параметры создания потока
Параметр psa является указателем на структуру SECURITY_ATTRIBUTES. Если Вы хотите, чтобы объекту ядра "поток" были присвоены атрибуты за

Функция CreateRemoteThread
Функция CreateRemoteThread создает поток, который запускается в виртуальном адресном пространстве другого процесса.   HANDLE Cre

Приоритеты потоков
Приоритет Назначение THREAD_PRIORITY_ABOVE_NORMAL Приоритет на 1 пункт выше класса приоритета. TH

Функция TerminateThread
Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode); В параметр dwExitCode помещается код завершения потока.

Засыпание и переключение потоков
VOID Sleep ( DWORD dwMilliseconds ); Эта функция приостанавливает поток па dwMilliseconds миллисекунд. Отметим несколько важных моментов, с

BOOL SwitchToThread();
Функция SwitchToThread позволяет подключить к процессору другой поток (если он есть). Вызов SwitchToThread аналогичен вызову Sleep с передачей в dwMilliseconds

DWORD SuspendThread(HANDLE hThread);
Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); Эта функция приостанавливает поток па dwMilliseconds миллисекунд. Отметим несколько важных моментов, с

Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Анонимные каналы. Почтовые ящики. Функции WIN 32 API.
  Анонимные каналы Анонимные каналы не имеют имен. Не пригодны для обмена через сеть. Главная цель – служить каналом между родительским и дочерним процессом

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги