看板 C_and_CPP 關於我們 聯絡資訊
我建立了一個 windows form 專案 並且在 windows form 第一次載入時開啟了一個 managed thread 然後調用了一個 OpenGL 的外部庫 其中有一個函式內建會使用 win32 原生的 thread (unmanaged thread) 而這個 thread 所使用的函式是由我傳入的 我試著用 ManualResetEvent 來使兩者保持一定的執行順序 但是 CLR 似乎把 unmanaged thread 視為 UI thread 而導致錯誤? 我試著在傳入thread的函式中還有 UI thread 中 output Thread::CurrentThread::ManagedID 發現兩者是相同的 但我可以肯定 OpenGL 函式一定有開一個 unmanaged thread 請問是不是要作什麼處理? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.136.245.39
msc0953:看不太懂你的問題?! 11/09 20:52
elfkiller:系統給了unmanaged thread 和 managed thread 相同的 id 11/09 21:09
elfkiller:但理論上不該相同 , 猜測是CLR沒有偵測到unmanaged thre 11/09 21:10
elfkiller:要在程式中同時使用unmanaged thread和managed thread 11/09 21:10
elfkiller:是不是需要什麼特別處理 這就是我想問的 11/09 21:11
einspon:妳查過msdn使用unmanaged的方法嗎?? 11/10 18:56
einspon:Microsoft Windows 中的 Managed 和 Unmanaged 執行緒處理 11/10 19:11
einspon:妳看看吧,或許有用 11/10 19:11