簡體   English   中英

從應用程序全局變量調用時,線程的 WaitForSingleObject 會凍結

[英]WaitForSingleObject for a thread freezes when called from application globals

我創建了一個線程作為某個池的一部分,當應用程序(實際上是 DLL)完成時需要銷毀該線程。 所以我有一些“全局變量”,意思是一個靜態全局實例化的結構,在析構函數中它釋放任何創建的線程並使用 WaitForSingleObject 等待它們。 不幸的是,這永遠凍結了,並且在調試器中檢查發現線程仍然存在,只是卡在系統 DLL 的某個地方。 當我在全局變量發布之前調用它時,一切都會好起來。 我在 Win32 文檔中沒有看到任何提及。 有任何想法嗎?

所以解決方案確實是避免等待,實際上釋放 DllMain 中的任何內容(包括全局變量)都是不好的,因此需要在此之前釋放所有重要的內容。 當涉及到 DLL 時,這有時有點棘手,但是……

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM