轉載 http://www.javashuo.com/article/p-wbjmailb-nq.html
點我前往html
C++多線程類Thread(C++11)
安全
C++11中std命名空間將Boost庫中的Thread加入,Boost的多線程從準標準變爲標準,在深度學習以及應用程序開發中常常用到多線程,這裏將其用法整理複習,以demo的形式複習,每次遇到問題或者忘記了老是百度,用完了就是忘記,好記性不如爛筆頭,Goahead!多線程
頭文件爲#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