Tworzenie watkow z poziomu C/C++
Do tworzenia dodatkowych watkow przy zalozezniu iz znajdujemy sie w jedynie w obrebie jednego procesu (programu) sluzy:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // atrybuty bezpieczenstwa watku
DWORD dwStackSize,// rozmiar stosu (0 - domyslny)
LPTHREAD_START_ROUTINE lpStartAddress,// wskaznik na funkcje watku
LPVOID lpParameter,// wskaznik na argument
DWORD dwCreationFlags,// dodatkowe flagi
LPDWORD lpThreadId // zwraca identyfikator watku
);

Przyklad prostego programu wykorzystujacego watek:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
DWORD WINAPI ThreadProc(LPVOID* theArg)
{
DWORD ilerazy= (DWORD)*theArg;
for (int i = 0; i<ilerazy; i++)
printf("Jestwm %d  raz w watku
"
, i);
return TRUE;
}
 
int main(int argc, char *argv[])
{
DWORD threadID;
DWORD thread_arg = 150;
HANDLE hThread = CreateThread( NULL, 0(LPTHREAD_START_ROUTINE)ThreadProc, &thread_arg, 0, &threadID );
WaitForSingleObject( hThread, INFINITE );
return 0;
}


Autorem tekstu jest: Marek Hajduczenia
Materiał dodany przez użytkownika: marek_haj