c++ 多線程 為什么反復創(chuàng)建釋放多線程TTHREAD對象會引起內(nèi)存溢出?
為什么反復創(chuàng)建釋放多線程TTHREAD對象會引起內(nèi)存溢出?刪除freeonterminate的原因是您已經(jīng)設置了線程的freeonterminate。這將導致線程對象在線程完成時自動釋放。結果,線程對
為什么反復創(chuàng)建釋放多線程TTHREAD對象會引起內(nèi)存溢出?
刪除freeonterminate的原因是您已經(jīng)設置了線程的freeonterminate。這將導致線程對象在線程完成時自動釋放。結果,線程對象在主線程中應用,但在子線程中釋放。一般的解決方案是在線程完成后手動釋放線程對象。
在寫線程時,我們要遵循一個基本原則,即線程負責釋放線程請求的內(nèi)存,而主線程請求的TThread應該在主線程中釋放,而不是freeonterminate。