【linux多线程】c++多线程的几种创建方式
生活随笔
收集整理的這篇文章主要介紹了
【linux多线程】c++多线程的几种创建方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
序言
-
之前的文章介紹了 進程和線程的基本概念,以及 C語言多線程的基本函數
-
現對C++中多線程創建的幾種方式做一個總結(學習記錄)
1. 多線程
-
c++11中引入了線程類thread,頭文件
#include <thread> -
創建多線程的方法
std::thread threadName(函數名, 參數1, 參數2, ...) std::thread threadName(functionName, leftValueArg, rightValueArg, std::ref(refArg), std::cref(constRefArg));傳參可以傳左值、右值、引用使用std::ref、const引用使用std::cref;
參數先copy或move到std::thread對象,再move給函數 -
程序至少有一個線程(主線程),一旦創建了std::thread對象也就是在主線程外創建了一個子線程,其立刻開始運行
2. 多線程的創建
常見的線程創建方式如下:
1. 普通函數 2. 成員函數 3. 仿函數 4. lambda函數- 線程創建方式1:普通函數
- 線程創建方式2:成員函數
- 線程創建方式3:仿函數
- 線程創建方式4:匿名函數lambda
?
參考文章:
多線程與單線程的對比
線程創建的幾種方式
cpp官網線程創建的幾種方式
ros多線程創建
created by shuaixio, 2022.04.30
總結
以上是生活随笔為你收集整理的【linux多线程】c++多线程的几种创建方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 定时关机命令,linux 定
- 下一篇: linux软路由 iptv,LEDE x