Знайте, Intuit, лекция, внедряване на процеси и нишки

Създаване потоци

След това създава устройство за контрол на потока във връзка с придружаващите структури образувани стека ядро ​​поток и създаване на поток нотифицирано подсистема Win32. И накрая, той се връща поток призвание конец ЕВРОВОК генерира и предава на управление, както и нов поток може да се разпредели времето на процесора.

функция CreateThread

По този начин, ако основната поток процес е създадена от функцията обаждане CreateProcess. За да генерира допълнителни потоци трябва да извикате функция CreateThread:

Стартирайте програма за създаване на поток

Програма списък е даден по-долу, се създава нов нишка и преминава параметър цифровата стойност които този поток дисплеи.

Като упражнение се препоръчва да се напише програма, илюстрираща простотата на организиране на обмен между нишка в рамките на един процес, например, чрез обмен на набор от общи глобални данни. Сравнете този метод по-тежки примери от лекцията "комуникация между процесите".

Подобен процес на сключване на нанесени обекта, за да го ядро ​​поток "поток" не се освобождава, докато, докато не затворите всички външни връзки на този обект.

А контекст поток, превключване на контекста

Специална роля в структурите от данни, които описват потока от свири контекст нишка. Информация, която е част от контекста, трябва периодично да спаси и възстановяване в случай на различни събития, например, при преминаване потоци. Като цяло, предмет на опазване и последващо възстановяване:

Тази информация се съхранява в текущия стек конец ядрото.

Context отразява състоянието на регистрите на процесора по време на последната нишка на изпълнение и се съхранява в структурата контекст, WinNT.h е определено в заглавната част на файла. Елементите на тази структура съответстват на регистър, например, за x86 процесор включва EAX, EBX, ECX, функция EDX др Win32-GetThreadContext позволява да получите текущата контекст държавните и SetThreadContext функция -. Задайте нов контекст-специфично съдържание. Преди тази операция, се препоръчва да се спре потока.

В допълнение към тези вече има много полезни функции, които прилагат програмен интерфейс за управление на потоци. Пълният списък е достъпно на MSDN.

заключение

Flow е набор от изпълними команди за текущата издръжливостта й. С един или повече потоци, свързани набор от ресурси, които са интегрирани в процеса. За да се опише процеса в системата се поддържа свързаните обобщени структури, основните от които е EPROCESS структура. На свой ред. ETHREAD структура и свързаните с тях структури, необходими за изпълнение на потоци. Лекцията анализира функция CreateProcess и CreateThread и етапи на развитие на процесите и нишки. Важни характеристики са състояние на подем и нейния контекст. Мониторинг на състоянието на потока се предлага да се въведе система за използване на инструментите.