Win api module_6.2

5
WinAPI Модуль 6.2

Transcript of Win api module_6.2

Page 1: Win api module_6.2

WinAPIМодуль 6.2

Page 2: Win api module_6.2

2

В даному модулі: Багатопоточність

Andriy Gladkyy [email protected]

Page 3: Win api module_6.2

3

Створення потоку Для створення потоку використовується функція

CreateThread. Головними аргументами цієї функції є:

Покажчик на функцію потоку

Єдиний аргумент типу void* (або LPVOID), значення якого буде передано у функцію потоку.

За допомогою цього покажчика можна передавати будь-які дані в новий потік з точки його створення. Наприклад, можна виділити ділянку пам'яті, записати в нього дані, необхідні новому потоку, і передати покажчик на цю ділянку пам'яті у функцію CreateThread.

Andrey Gladky [email protected]

Page 4: Win api module_6.2

4

Створення потоку Повторний виклик CreateThread призводить до

створення ще одного потоку, що виконується одночасно із створеним, і т.д.

Таким чином, можна створювати необмежену кількість потоків, не забуваючи, що кожен новий потік гальмує виконання інших.

Для того, щоб створити потік "замороженим" (або зупиненим, suspended), потрібно передати в CreateThread значення CREATE_SUSPENDED в передостанньому аргументі:

Andrey Gladky [email protected]

Page 5: Win api module_6.2

5

Демонстрація

Andrey Gladky [email protected]