多线程
律白
心之所向,素履以往
展开
-
c++多线程编程--数据竞争
数据竞争 如果多个线程同时访问同一个变量, 可能对引起数据竞争: 如果这个访问是读操作,对这个数据没影响。 如果这个访问是写操作,很有可能引起数据竞争。 试想一下,如果线程A想要对主线程中的变量num进行加一操作,刚读取变量A的值后,时间片用完,转入阻塞状态,此时线程B主线程中的变量num进行加一操作。此后线程A再次执行,但还是用之前读取的num值进行操作,而没有感知到线程B已经对num变量进行过修改。 互斥对象 mutex对象是指定代码的访问。 头文件 #include<mutex>原创 2020-10-25 19:04:26 · 1559 阅读 · 0 评论 -
c++多线程编程--thread成员函数
thread成员函数 thread类提供了丰富的成员函数帮助用户实现多线程编程。我们把构造函数单独拎出来作为一章来介绍。如下 thread构造函数 非构造函数的成员函数介绍: 序号 函数格式 返回值 意义 1 join() void 让当前线程等待线程t执行完成 2 joinable() bool 判断当前线程是否可以join 3 detach() void 继续执行当前线程,不必等待线程t执行完成 4 get_id() std::thread::id 获取线程id 5 st原创 2020-10-25 16:44:31 · 1538 阅读 · 0 评论