C/C++ - Приложение с потоками.

Ответить
Аватара пользователя
Noglick

C/C++ - Приложение с потоками.

Сообщение Noglick »

Товарищи, если кто-нибудь знает, как это отлажено сделать, напишите пожалуйста.



"Создать приложение, запускающее четыре дочерних потока. Каждый поток вы-

полняет вывод сообщения о том, что он создан, а затем выводит цифры своего

порядкового номера. Изменить приоритеты потоков так, чтобы их приоритеты

увеличивались по порядку их создания (первый поток – наименьший приоритет,

четвертый – наибольший). Вывести сведения о приоритетах потоков и пооче-

редно завершить их работу. "
Аватара пользователя
Hilaly

Re: C/C++ - Приложение с потоками.

Сообщение Hilaly »

я знаю Изображение)



Потоки создаются с помощью функции

HANDLE WINAPI CreateThread(

__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,

__in SIZE_T dwStackSize,

__in LPTHREAD_START_ROUTINE lpStartAddress,

__in_opt LPVOID lpParameter,

__in DWORD dwCreationFlags,

__out_opt LPDWORD lpThreadId

);

Парметр lpStartAddress это ф-я которая будет выполняться в созданном потоке.



Приоритет потока устанавливается с помощью

BOOL WINAPI SetThreadPriority(

__in HANDLE hThread,

__in int nPriority

);

здесь hThread -> дескриптор возвращенный предыдущей ф-ей

А получить его можно при помощи

int WINAPI GetThreadPriority(

__in HANDLE hThread

);





Потоки выполняются до выполнения одного из следующих условий

Поток вызывает ExitThread

любой поток процесса вызывает ExitProcess

ф-я потока возвращает значение

любой поток вызывает TerminateThread с параметром - дескриптором данного потока

любой поток вызывает TerminateProcess с параметром - дескриптором процесса
Ответить

Вернуться в «Программирование и базы данных»