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