1
在我正在使用的程序中,我們正在使用tbb :: Parallel_reduce並且用戶有能力在中途取消程序,我們通過拋出自定義異常來執行此操作。當拋出異常時,單個線程的析構函數被調用,而剩下的只剩下了,並且由於每個線程正在複製一些數據(需要處理),因此可能會有非常大的內存泄漏。通常這不會是一個問題,但是這個代碼在另一個程序中運行,所以操作系統將無法釋放內存。取消tbb Parallel_reduce導致內存泄漏
我對這個問題的主要問題是沒有人知道強制每個線程的析構函數被拋出時拋出異常或另一種能夠清理數據的方式。非常感謝你。