C++ 11 深度学习(十)多线程
生活随笔
收集整理的這篇文章主要介紹了
C++ 11 深度学习(十)多线程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
線程創(chuàng)建
方式一:調(diào)用函數(shù)
#include<thread>void CreateThread() {int a=100;cout<<"This is Thread: "<<a<<endl; }int main() {thread Threadone(CreateThread);Threadone.join();//orThreadone.detach();}方式二:使用類對象,需要operator( )( )才能成為可調(diào)用對象
#include<thread> #include <iostream> #include<mutex> using namespace std;class TA { public:void operator()()//不能帶參數(shù){cout << "Thread to start" << endl;} };int main() {mutex tex;TA ta;thread Mythread(ta);Mythread.join();cout << "主線程執(zhí)行" << endl;return 0; }注意
1.joinable()可以用來查看是否處于join或者detach狀態(tài),如果是返回true,否則返回false。
全局函數(shù)作為線程入口分析參數(shù)傳遞內(nèi)存操作
1.線程中所有傳遞的參數(shù)是基礎(chǔ)類型,所有參數(shù)都會被復(fù)制一份。
2.線程中傳遞的是對象,對象會被復(fù)制拷貝。
線程函數(shù)傳遞指針和引用
1.在傳入指針或者引用的情況下,防止線程訪問的空間被提前釋放,? 傳遞堆內(nèi)存中;使用靜態(tài)的;參數(shù)放到類成員當(dāng)中。
2.在線程中傳遞參數(shù)使用引用需要加入ref( )。
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的C++ 11 深度学习(十)多线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酷酷的网名92个
- 下一篇: 【开源项目】基于QT录制PCM音频实例详