[ zpezer @ 21.01.2006. 14:33 ] @
Molim ako ima neko kod sa više definiranih thredova sa CreateThread (ne _beginthread) da mi spremi. posebno molim da objašnjenje sa četvrtim parametrom . unaprijed hvala ([email protected])

[Ovu poruku je menjao zpezer dana 21.01.2006. u 15:53 GMT+1]
[ yooyo @ 22.01.2006. 00:40 ] @
Cetvrti parametar je pointer koji prosledjujes u thread. Ta vrednost ce se pojaviti kao parametar tvoje thread funkcije.

Primer:

Code:

class Job
{
public:
Job(){}
virtual ~Job(){}

void StartThread();

protected:
// static je obavezan
static DWORD WINAPI MyThreadProc(LPVOID lpParameter);
HANDLE m_Thread;
DWORD m_ThreadID;

void Run();
}

DWORD WINAPI Job::MyThreadProc(LPVOID lpParameter)
{
 Job* j = (Job*) lpParametar;
 j->Run();
}

void Job::Run()
{
 // ovde napisi tvoj thread code
}

void Job::StartThread()
{
 m_Thread = CreateThread(NULL, 0, MyThreadProc, this, 0, &m_ThreadID);
}


Kao sto vidis u pozivu CreateThread kao treci param je static metoda (MyThreadProc) klase, a cetvrti je this pointer. Thread ce poceti u funkciji MyThreadProc, a parametar ce biti this pointer koji je prosledjen u pozivu CreateThread funkcije. Ukratko... cetvrti parametar se koristi da threadu prosledis nesto sa cime ce on da radi.

yooyo

[Ovu poruku je menjao yooyo dana 22.01.2006. u 01:42 GMT+1]
[ to3a @ 22.01.2006. 12:28 ] @
Moja preporuka ti je da malo proucis funkciju beginthread, jer ce ti sigurno trebati kada pocnes malo ozbiljnije da radis sa thread-ovima ...

pozdrav, TO3A
[ cohadar @ 23.01.2006. 17:03 ] @
A moja preporuka je da malo više naučiš o teoriji koja je u pozadini svega toga.
I obavezno, ali obavezno saznaj šta su semafori