两个线程使用queue队列必须要加锁吗

C++语言 码拜 8年前 (2016-04-24) 4338次浏览
一个线程是生产者,一个线程是消费者,只有这两个队列
也就是一个线程存入数据,一个线程读取并删除数据。
队列都是先进先出的,假如不加锁,似乎也可以顺利存取。
问:在这种只有两个线程的情况下,也必须给queue加锁吗?
解决方案

10

没事就是运气好,出事就是运气差。两端同时写必须加锁,不加锁 = 作死。
一读一写的话不怕读取错误数据可以不加

20

肯定要加锁, 这和顺序存取没关系

10

加锁吧,简单,虽然损失了一些效率。

10

必须要加

5

问题出在队列可能为空

5

队列读取,数据量没有多大吧
数据小的话,直接读出来就是了
数据大的话,队列里面存储指针就可以了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明两个线程使用queue队列必须要加锁吗
喜欢 (1)
[1034331897@qq.com]
分享 (0)