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);
}