C++11 tread和锁

来源:互联网 发布:医学统计学软件 编辑:程序博客网 时间:2024/04/28 11:03
#include <iostream>#include <thread>#include <unistd.h>int i = 0;std::mutex locks;void fun1(){locks.lock();std::cout <<"fun1_"<< i++ <<std::endl<<std::unitbuf;locks.unlock();}void fun2(){//std::mutex locks; //没有什么作用locks.lock();std::cout <<"fun2_"<< i++ <<std::endl<<std::unitbuf;locks.unlock();}void fun3(){//std::mutex locks;locks.lock();std::cout <<"fun3_"<< i++ <<std::endl<<std::unitbuf;locks.unlock();}void test1(){while(1) {fun1();usleep(1000);}}void test2(){while(1) {fun2();usleep(1000);}}void test3(){while(1) {fun3();usleep(1000);}}int main(int argc, char *argv[]) {std::thread t1(&test1);std::thread t2(&test2);std::thread t3(&test3);t1.join();t2.join();t3.join();}

原创粉丝点击