Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Mit mehreren Threads auf einem physical Device schreiben

  Alt 10. Feb 2009, 18:27
Hey,

ich wollte in einer meiner Anwendungen Mehrkern CPUs unterstützen und dachte mir, ich schreibe direkt mit mehreren Threads Daten auf eine Festplatte. In den verschiedenen Threads öffne ich das Device folgendermaßen:

Delphi-Quellcode:
hCurDevice := CreateFile(lpParam, GENERIC_ALL, FILE_SHARE_READ or
      FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
Nach dem ersten Mal bekomme ich mittels GetLastError allerdings die Meldung, dass die Datei nich geöffnet werden konnte, da sie von einem anderen Programm verwendet wird.

1. Frage: Lohnt es sich überhaupt mehrere Threads zu verwenden oder reicht ein Thread aus, da die Geschwindigkeit sowieso nicht vom CPU Speed, sondern viel mehr von der Schreibgeschwindigkeit der Festplatte abhämgt?
2. Frage: Wie kann ich das geschilderte Problem, fals es sich von der Performance her lohnt, lösen?

Gruß Zacherl
  Mit Zitat antworten Zitat