我有一个递归函数,我想使用windows线程或增强线程来进行线程化。我有两个方法如何进行线程化的例子,但我不知道如何实现我的函数。下面是我的增强线程的示例。
struct ThreadDemo {
ThreadDemo( int secs ) : secs_(secs) { }
void operator() (void) {
boost::xtime xt;
boost::xtime_get( &xt, boost::TIME_UTC );
xt.sec += secs_;
boost::thread::sleep( xt );
{
boost::mutex::scoped_lock lock(printing);
cout << "Thread ended..." << endl;
}
}
};
我对它的运作方式并不是100%肯定,但如果你们能帮助我更好地理解它,我希望能够自己实现我的功能。
答案 0 :(得分:0)
嗯,你看起来像一个仿函数 - 我觉得你用线程混淆了
要在boost(或windows或pthreads)中创建一个线程,只需要一个函数
这是一个很好的参考(这是我第一次学习Boost线程时使用的那个)
http://drdobbs.com/cpp/184401518