Hi,
ich habe mehrere Worker-Threads, die während ihrer Arbeit Daten in eine Datei schreiben sollen. Es handelt sich aber dabei stets um die gleiche Datei.
Wie stellt man sowas an, ohne dass es kracht ? Wichtig ist mir hierbei auch, dass die Performance der Threads nicht zu sehr leidet…
Achso: Ich arbeite mit VC6 und die Anzahl der Threads liegt im einstelligen Bereich.
Danke
Lars (, der noch nie in VC++ synchronisiert hat
)
Lars (, der noch nie in VC++ synchronisiert hat
)
Synchronisation geht über Semaphore. Schau dir hierzu vielleicht mal die Doku um WaitForSingleObject an.
/dirk
z.B. mit CRITICAL_SECTION
Einmal initialisieren mit InitializeCriticalSection(…);
Vor den Dateizugriffen jeweils EnterCriticalSection(…);
Und danach LeaveCriticalSection(…);
Wenn nicht mehr benötigt einmal zerstören mit DeleteCriticalSection(…);
1 „Gefällt mir“
Hallo, mir haben zwei Tutorials sehr viel weitergeholfen:
http://www.flipcode.com/tutorials/tut_mthreading.shtml
http://www.flipcode.com/tutorials/tut_mthreading2.shtml
Hoffe, sie helfen dir auch.
Gruss, Omar Abo-Namous