Boost執行緒學習簡記

2021-04-29 15:31:49 字數 751 閱讀 5439

boost執行緒學習簡記

#include

boost::thread是執行緒類,建立執行緒非常簡單,只需要建立乙個thread物件,並把執行緒工作函式作為引數傳給構造引數。

void

output()

… boost

::thread t(output);

如果我們的工作函式需要引數怎麼辦呢?

void

output2(int v)

… boost

::thread t(output2,4);

如果我們的執行緒函式有多個引數,不論什麼型別,都寫成如下形式(只要不超過十個)

boost

::thread t(fun,arg1,arg2,…);

t.join();

等待執行緒函式執行完畢

boost::this_thread::sleep()

這裡的sleep()函式並不是休眠多久的意思,而是睡眠到什麼時候。

所以如果我們想要他休眠一秒鐘,就要先計算一秒鐘之後的時間是多少然後傳給sleep

//計算出sec+0.0000000001*nsec秒後的時間

boost

::xtime getnexttime(int sec,int nsec)

… boost

::this_thread::sleep(getnexttime(1,0));

Boost執行緒學習

本文參考部落格 include include include include include include include void hello 第一種方式 最簡單方法 int main 01 int argc,char argv 第二種方式 複雜型別物件作為引數來建立執行緒 結構中也可以定義操...

boost建立執行緒池 boost庫使用 執行緒類

boost 庫中提供了兩種建立執行緒的方式,一種是單個執行緒建立,另外一種是執行緒組的建立,進行執行緒管理 thread 就是沒有組管理,與我們在linux下使用pthread create 函式是一樣的,只是在c 11中,引入了boost中的thread方法 包含標頭檔案 include usin...

Boost學習摘要 三線程

boost庫在工作 16 執行緒之一 boost thread boost bind run,1 boost庫在工作 17 執行緒之二 boost thread group 主要使用了boost庫里的執行緒池類thread group,它提供了多個執行緒建立 儲存 退出等管理。比如使用create ...