G
geausg
Bekanntes Mitglied
- Dabei seit
- 03.07.2002
- Beiträge
- 88
- Reaktionspunkte
- 0
wie kann man einen thread erzeugen und starten, zb zum kopieren von dateien
danke
danke
UINT MFCThreadTestDlg::MyThreadProc(LPVOID pParam)
{
for (int i = 0; i < 3; i++)
{
::MessageBeep(-1);
Sleep(1000);
}
return 0;
}
void CMFCThreadTestDlg::OnTest()
{
AfxBeginThread(MyThreadProc, 0);
}
class CMFCThreadTestDlg
{
...
static UINT MyThreadProc( LPVOID pParam );
...
}
Das ist egal. Du kannst genauso gut eine globale Funktion als Thread-Funktion nehmen. Die muß dann auch nicht "static" sein.Original geschrieben von yks jetzt ist alles klar .
Meine Thread-Funktion ist nämlich keine Member-Funktion sondern eine globale Funktion
Ob Du eine static Memberfunktion nimmst oder eine globale Funktion, ist egal und hängt von dem Konzept ab, das dem Programm zugrunde liegt.Original geschrieben von geausg
das klingt doch schon mal gut, aber wo kann man bei vc++ eine globale funktion hinzufügen, wenn ich das mit dem assi mache , macht der mir doch ne memberfunktion, oder muss ich da irgendwas noch angeben ?
UINT MyThreadProc(LPVOID pParam)
{
for (int i = 0; i < 3; i++)
{
::MessageBeep(-1);
Sleep(1000);
}
return 0;
}
UINT MyThreadProc(LPVOID pParam);
Originally posted by UnimatrixZero
Damit bei gleichzeitigen Zugriff auf die Struktur alles in geregelten Bahnen abläuft, solltest Du den Zugriff darauf über wenige Funktionen laufen lassen und diese mit einer CriticalSection sichern.