boost_thread
1 #include <boost/thread/thread.hpp> 2 #include <boost/thread/mutex.hpp> 3 //#include <boost/bind.hpp> //包含会报错 4 #include <iostream> 5 using namespace std; 6 7 boost::mutex io_mutex; 8 9 void wait(int seconds) 10 { 11 boost::this_thread::sleep(boost::posix_time::seconds(seconds)); 12 } 13 14 int fun_count(int id) 15 { 16 for (int i = 0; i < 100; ++i) 17 { 18 { 19 boost::mutex::scoped_lock lk(io_mutex); 20 std::cout<<id<<":"<< i << endl; 21 } 22 wait(1); 23 } 24 return id; 25 } 26 27 int main(int argc, char const *argv[]) 28 { 29 30 boost::thread t1(boost::bind(fun_count,1)); 31 boost::thread t2(boost::bind(fun_count,2)); 32 boost::thread t3(boost::bind(fun_count,3)); 33 boost::thread t4(boost::bind(fun_count,4)); 34 35 t1.join(); 36 t2.join(); 37 t3.join(); 38 t4.join(); 39 40 return 0; 41 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通