Jump to content
nedo

Tutorial introducere threading in WinApi [C++]

Recommended Posts

Posted

Introducere in threaduri WinApi(C++)

Ce sunt threadurile?

Threadurile sunt fire de executie separate care exista in interiorul unei aplicatii.

Firele de executie multiple, permit unei aplicatii sa faca(sau sa dea senzatia ca fac) mai multe lucruri in acelasi timp.

Acest efect este atins prin permiterea fiecarui fir de executie o anumita perioada de lucru in procesor.

In majoritatea limbajelor de programare moderne(care in general incorporeaza concepte de programare orientata pe obiect), threadurile sunt portretizate

sub forma de obiecte, threadurile respective avand caracteristici, si metode de utilizare. In contrast, threadurile din WinApi sunt mult mai bazice.

In esenta un thread in WinAPi este doar o simpla functie, ce se executa separat de threadul principal. Acest lucru, pe langa ca le face un pic mai complicat de folosit

le face insa si mai versatile, permitand programatorului sa creeze pe baza facilitatilor respective, alte reprezentari ale threadurilor.

Cam atat cu introducerea, deci hai sa mergem mai departe cu un pic de cod.


#include <iostream>
#include <windows.h>

using namespace std;

DWORD WINAPI trdFnk(LPVOID lpParam)
{
for(int i = 0; i< 100;i++)
{
cout << i << endl;
}
}

int main()
{
int data = 0;
DWORD identificatorTRD = 0;
HANDLE trdHdl = CreateThread(NULL, 0, trdFnk, &data, 0, &identificatorTRD);
if(trdHdl == NULL)
{
cout <<"Eroare la creere thread, iesim." << endl;
return 0;
}
WaitForSingleObject(trdHdl, INFINITE);
return 0;
}

Continuarea aici deoarece continutul este prea mare si se duce naibi formatarea si mai stau inca 3 ore sa o aranjez si aici :)).

Sper sa va placa.

  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...