[cpp]: thread -- with header <syncstream>
一、说明:
1、 【并发编程】thread编程中的同步输出: std::osyncstream // Defined in header <syncstream>
二、程序代码
1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <thread> 5 #include <syncstream> // std::osyncstream(); std::osyncstream(std::cout) 6 7 8 int count = 0; 9 10 11 void fun() 12 { 13 // 在多线程中,进行同步输出 14 std::osyncstream(std::cout) << "[os]#\tfun(" << ++count << ")" << std::endl ; 15 } 16 17 18 int main() 19 { 20 std::thread f1(fun) ; 21 std::thread f2(fun) ; 22 std::thread f3(fun) ; 23 std::thread f4(fun) ; 24 std::thread f5(fun) ; 25 26 f1.join() ; 27 f2.join() ; 28 f3.join() ; 29 f4.join() ; 30 f5.join() ; 31 32 return 0 ; 33 }
三、输出内容
1 g++ -std=c++20 -O2 -Wall -pedantic -pthread main.cpp && ./a.out 2 3 4 [os]# fun(2) 5 [os]# fun(1) 6 [os]# fun(3) 7 [os]# fun(4) 8 [os]# fun(5)
四、参考资料
1、 std::basic_osyncstream -- https://en.cppreference.com/w/cpp/io/basic_osyncstream
标签:std,thread,--,fun,osyncstream,cpp,include,os From: https://www.cnblogs.com/lnlidawei/p/17999150