Windows 用の単純なスレッド ライブラリを作成しています。このファンクタを渡したい
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スレッドを使用せずに、ファンクターをスレッド関数として使用してWindowsでスレッドを開始するにはどうすればよいですか?
[更新] C++11 スレッドを使用せずに