發表文章

目前顯示的是 8月, 2016的文章

C++11 std::thread

今天來學習一下C++11的thread,直接貼上範例 thread 分為下列兩種  - join  - detach join()會等待執行續執行完畢才繼續往下執行,detach 則反之。 #include <iostream> #include <thread> using namespace std; void func_count(const char *str, int &count) { for (int i = 0; i < 3; i++) { count++; printf("%s n=%d\n", str, count); } } int main() { int count1 = 0; int count2 = 0; int count3 = 0; thread t1(func_count, "thread1", ref(count1)); thread t2(func_count, "thread2", ref(count2)); thread t3(func_count, "thread3", ref(count3)); printf("main thread, conunt1=%d, conunt2=%d, conunt3=%d\n", count1, count2, count3); t1.join(); // wait for t1 thread t2.join(); // wait for t2 thread t3.detach(); // no wait for t3 thread return 0; }