c++ - 线程函数

标签 c++ boost recursion boost-thread

我有一个要线程化的递归函数,使用 Windows 线程化或 boost 线程化。我有关于如何以两种方式进行线程化的示例,但我不确定如何将这两种方式实现到我的函数中。下面是我的 boost 线程的例子。

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% 确定它是如何工作的,但如果你们能帮助我更好地理解它,我希望可以自己实现我的功能。

最佳答案

好吧,你所拥有的看起来像一个仿函数 - 我认为你将它与线程混淆了。
要在 boost(或 windows,或 pthreads)中创建一个线程,你只需要一个函数。
这是一个很好的引用(这是我第一次学习 Boost 线程时使用的那个)
http://drdobbs.com/cpp/184401518

关于c++ - 线程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6415231/

相关文章:

java - 为什么我的递归解决方案会打印重复项?

java - 如何从平衡二叉搜索树中按升序打印整数?

python - 在 C++ 中运行 python

c++ - 运行反向字符串程序时导致停止工作

c++ - 什么是 `std::set<int,int>::iterator` ?

c++ - boost中rtree中的打包算法

php - 如何在 C++ boost 中编写这些正则表达式?

C++ 调用 lua_dostring 加载具有 'require(' cjson')' 的 lua 脚本引发错误 :cjson. so: undefined symbol: lua_getfield

c++ - BGL adjacency_list : How to sort out_edges using vertex property, 不是描述符

haskell - 在haskell中接受/拒绝下推自动机