我最近發現ATL的CThreadPool類,對這個發現非常滿意。這是一個整潔的小類,它將關注具有多個工作線程的同步語義來處理某些taks隊列。通過一些外部過程將任務提供給CThreadPool對象。如何知道CThreadPool何時完成工作?
雖然是很整齊的乾淨,似乎沒有成爲一個辦法找出是否所有任務都catually已經完成。什麼是最好的方式來做到這一點?
例如,假設我需要做10個繁重的計算任務,然後繼續做其他事情。直到我知道任務已完成,我才能繼續前進。
所以我創建10個線程一個CThreadPool,把任務隊列和關閉他們去線程。我如何知道任務何時完成?
波阿斯