執行緒學習三 建立執行緒

2022-10-03 22:21:22 字數 1564 閱讀 2673

目錄1.2 pthread建立執行緒

#include #include void foo(int a)

int main()

// 編譯方法: g++ -g test.cpp -o test -std=c++11 -lpthread

#include #include class bar}; 

int main()

// 編譯方法: g++ -g test.cpp -o test -std=c++11 -lpthread

#include #include // 類要變成可呼叫物件需要過載操作符()

class bar};

int main()

// 編譯方法: g++ -g test.cpp -o test -std=c++11 -lpthread

#include #include class test

~test() {}

void init() ).join();

}private:

int m_icount;};

int main()

; // create and execute the thread

std::thread thread(lambda, 10); // pass 10 to the lambda expression

// the lambda expression will be executed in a separate thread

// wait for the thread to finish, this is a blocking operation

thread.join();

// 方法2:在乙個類中用匿名函式建立執行緒

test test(5);

test.init();

return 0;

}// 編譯方法: g++ -g test.cpp -o test -std=c++11 -lpthread

int pthread_create (pthread_t *__restrict __newthread,

const pthread_attr_t *__restrict __attr,

void *(*__start_routine) (void *),

void *__restrict __arg)

// 第乙個引數為指向執行緒識別符號的指標。

// 第二個引數用來設定執行緒屬性。

// 第三個引數是執行緒執行函式的起始位址。

// 第四個引數是執行函式的引數。

// pthread_create() 在呼叫成功完成之後返回零。其他任何返回值都表示出現了錯誤。

例項:

#include #include void* test(void* context)

int main()

// 編譯方法: g++ -g test.cpp -o test -lpthread

來自於

多執行緒學習 建立執行緒

執行緒的建構函式 public thread public thread runnable target public thread string name public thread runnable target,string name public thread threadgroup gro...

執行緒 三種方式 建立執行緒

第一種 1 模擬龜兔賽跑 繼承thread 重寫run 執行緒體 2 使用執行緒 建立子類物件 物件.strat 執行緒啟動 author administrator public class rabbits extends thread class tortoise extends thread ...

執行緒學習(三)

生產者抓取資料,將資料放到快取區 中,消費者從緩衝區拿到資料進行處理。消費者為什麼不直接獲取資料,而要經過生產者?提高效率,資料安全程度提高。特性 乙個場所 存放資源場所 兩類角色 生產者,消費者 三種關係 保證資源安全訪問 生產者與生產者 互斥 消費者與消費者 互斥 生產者與消費者 同步 互斥 實...