boost::thread基础学习总结

1、使用线程进行并行程序设计,首先说的是如何创建多个线程,以及线程间如何等待,可以使用thread类和group_thread类,以及yield和join方法

2、使用多线程编程,首先确保函数是线程安全的,应该使用锁mutex和scoped_lock方法对资源进行锁定,避免多个线程同时访问一个函数或资源;依据读写操作的特性可以使用读写锁 read_write_mutex和read_lock、write_lock方法对资源进行锁定;避免死锁可以使用try_mutex和try_scoped_lock方法对资源进行锁定;要想办法避免饿死和竞态条件。

3、线程间的通信可以使用 condion的notify_one、notify_all方法和wait方法配合mutex进行消息传递
4、线程中资源的一次性初始化可以使用 once的call_once函数来保证资源的一次初始化
5、线程中函数传参可以采用 bind进行

你可能感兴趣的:(JOIN,thread,多线程,编程)