Mehrere Threads - 1 Datei

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 :frowning: )

Lars (, der noch nie in VC++ synchronisiert hat :frowning: )

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 Like

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