TerminalThread的事兒

TerminalThread是微軟極力不推薦的一個API,原因有不少,主要是有些問題沒法得到保證。

內存泄露

死鎖

以及一些其他API調用引起的副作用(Sleep)

今天就遇到在線程裏調用Sleep,使線程掛起,然後TerminalThread強行結束該線程,運氣不好的話(絕大多數情況下會運氣不好),進程最後死鎖。原因大概是Sleep函數會有一些需要釋放的東西沒有得到釋放造成的,具體原因就沒有深入的研究了,總之使用TerminalThread要慎之又慎,最理想的情況是讓線程自生自滅,其實大多數情況下是能夠從代碼上保證這一點的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章