boost线程的问题:

可以看看这里:http://blog.csdn.net/misskissc/article/details/9859753

我的总结:

1,用thread类来创建一个线程,它的构结函数 :

(1)thread();

(2)template<class F> explicit thread(F f);

(3)template<class F, class A1, class A2…,class A9> thread(F f, A1 a1, A2 a2, …,A9 a9);

第(1)个构造函数不可被传递参数,【表示构造一个表示当前执行线程的线程对象】,第(2)、(3)两个构造函数的区别在于使用第三个构造函数可以指定传入调用函数的参数,最多可以传递9个参数。

此构造函数采用C++中模板的思想使得thread创建线程时可以对其构造函数传入任意类型的函数及参数]

2,可以利用join()的成员函数来进行等待进程完成;如:

……
thread my_thread(‘相关参数”)
my_thread.join();
 join方法是先将线程池中的其它线程wait状态,join执行完毕,又调用了notifyAll()唤醒所有线程中的线程。

3.

thread 中join() 的用法http://blog.csdn.net/leonardo9029/article/details/46343289

4, Thread的中断机制(interrupt)  http://www.cnblogs.com/onlywujun/p/3565082.html

原文地址:https://www.cnblogs.com/yinheyi/p/5985979.html