Ich habe vor kurzem die CThreadPool-Klasse von ATL entdeckt und war sehr zufrieden mit diesem Fund. Es ist eine nette kleine Klasse, die sich um die Synchronisations-Semantik kümmern wird, mehrere Worker-Threads zu haben, um einige Aufgaben zu erledigen. Die Tasks werden dem CThreadPool-Objekt durch einen externen Prozess zugeführt.Wie kann man wissen, wann die Arbeit mit CThreadPool erledigt ist?
Während es sehr ordentlich und sauber ist, scheint es keine Möglichkeit zu geben, herauszufinden, ob alle Aufgaben erledigt sind. Was ist der beste Weg, das zu tun?
Zum Beispiel sagen, ich muss 10 schwere Rechenaufgaben zu tun und dann weitermachen, etwas anderes zu tun. Ich kann nicht weitermachen, bis ich weiß, dass die Aufgaben abgeschlossen sind.
Also ich einen CThreadPool mit 10 Threads erstellen, legen Sie die Aufgaben in die Warteschlange und sie gehen zu den Threads. Wie würde ich wissen, wann die Aufgaben abgeschlossen sind?
Boaz