今天因为工作上的一个小任务,所以想测试一下多线程的性能,于是借机看了下boost的thread库。
一般的创建线程:
void test_func(int id);
boost::thread t = boost::thread(test_func, 10);
t.join();
很简单啊,直接把函数填进去,如果需要传参数的话,参数接着往后填。
如果想等的话,调用一下join就阻塞到那里了。cool。
就这么简单。
线程组(thread_group):
这个东西的介绍和接口都很简单。来段代码比较明显:
void test_func();
boost::thread_group group;
for (int i = 0; i < 10; i++)
{
group.create_thread(test_func);
}
group.join_all();
也是很简单,对吧。
再具体的可以看看文档,不过老实说boost的文档写的我感觉不太好,一大坨在那,得找半天。。。
先工作吧,有空再看看^___^