回覆列表
  • 1 # 使用者4194640071944

    1、C++多執行緒也可以使用UNIXC的庫函式,pthread_mutex_t,pthread_create,pthread_cond_t,pthread_detach,pthread_mutex_lock/unlock,等等。在使用多執行緒的時候,你需要先建立執行緒,使用pthread_create,你可以使主執行緒等待子執行緒使用pthread_join,也可以使執行緒分離,使用pthread_detach。執行緒使用中最大的問題就是同步問題,一般使用生產著消費者模型進行處理,使用條件變數pthread_cond_t,pthread_mutex,pthread_cond_wait來實現。2、例程://建立5個執行緒#include<pthread.h>#include<stdlib.h>void*work_thread(void*arg){//執行緒執行體return0;}intmain(intargc,char*argv[]){intnthread=5;//建立執行緒的個數pthread_ttid;//宣告一個執行緒ID的變數;for(inti=0;i<nthread;i++){pthread_create(&tid,NULL,work_thread,NULL);}sleep(60);//睡眠一分鐘,你可以看下執行緒的執行情況,不然主程序會很快節結束了。}pthread_create(&tid,NULL,work_thread,NULL);//建立執行緒的函式,第一個引數返回執行緒的ID;第二個引數是執行緒的屬性,一般都置為NULL;第三個引數是執行緒函式,執行緒在啟動以後,會自動執行這個函式;第四個引數是執行緒函式的引數,如果有需要傳遞給執行緒函式的引數,可以放在這個位置,可以是基礎型別,如果你有不止一個引數想傳進執行緒函式,可以做一個結構體,然後傳入。

  • 中秋節和大豐收的關聯?
  • 形容人生不能留下遺憾的名言有哪些?