1
如何在D中使用core.thread
正確傳遞句柄?我試圖像這樣做,但手柄會改變,我不知道爲什麼:d語言線程
void WorkerThread(handle hand)
{
…
}
…
auto worker = new Thread({ WorkerThread(m_handle); });
如何在D中使用core.thread
正確傳遞句柄?我試圖像這樣做,但手柄會改變,我不知道爲什麼:d語言線程
void WorkerThread(handle hand)
{
…
}
…
auto worker = new Thread({ WorkerThread(m_handle); });
的Thread
構造可以採取委託,可以有背景。在顯示的代碼中,上下文是封閉函數。如果出於某種原因,這是一個問題,你應該可以這樣做:
void StartThread(handle hand) {
struct Con {
handle m_handle;
void Go() { WorkerThread(m_handle); }
}
Con con = new Con;
con.m_handle = hand;
auto worker = new Thread(&con.Go);
}