0
我正在爲Windows編寫一個簡單的線程庫。我想這種方式傳遞函子如何在不使用C++ 11線程的情況下使用functor作爲線程函數在窗口中開始線程?
struct callable
{
void operator()()
{
for(int i = 0; ;++i)
{
std::cout << i << std::endl;
}
}
};
在_beginthread()
:
int main()
{
callable c;
_beginthread(c, 0, 0);
}
但是這是不可能的。在線程中傳遞函子的能力對我的庫非常必要。我知道boost::thread
提供這種能力,因此它是可能的。如何在不使用C++ 11線程的情況下使用functor作爲線程函數在窗口中開始線程?
[UPD]不使用C++ 11螺紋