【转载】C++多线程类Thread(C++11)

转载 http://www.javashuo.com/article/p-wbjmailb-nq.html
点我前往html

C++多线程类Thread(C++11)
安全

C++11中std命名空间将Boost库中的Thread加入,Boost的多线程从准标准变为标准,在深度学习以及应用程序开发中常常用到多线程,这里将其用法整理复习,以demo的形式复习,每次遇到问题或者忘记了老是百度,用完了就是忘记,好记性不如烂笔头,Goahead!多线程

头文件为#include ,经过std::thread应用。就以Hello thread开始吧,须要注意的是join()函数和detach()函数的区别,数据同步操做mutex(需包含include ): 互斥锁 并发

一、  普通函数多线程调用函数


(1)无参数函数学习

 

(2)有参数函数spa

 

二、    在类内部建立线程.net

(1)类内部函数为静态函数线程

在这里start()和hellothread()方法都必须是static方法。 3d

(2)在Singleton模式内部建立线程: 

 


3 、用类内部函数在类外部建立线程:

很是普通的类,只是用多线程调用其内部的函数


四、 join()和detach()的区别:

join()的做用前面已经提到,主线程等待子线程结束方可执行下一步(串行),detach()是的子线程放飞自我,独立于主线程并发执行,主线程后续代码段无需等待。看看效果:

(1)join()

(2)detach()

 

五、 数据同步(线程同时操做一个数据的安全性):

 

如有不当之处还请各位看官批评指正! 不胜感谢

参考:http://www.cppblog.com/janvy/archive/2010/03/25/110498.aspx

相关文章
相关标签/搜索