有一个 deque。
线程 A 不停在队尾插入数据,当 deque 长度达到数量 N 的时候,从队头出队一条数据,并回收内存。
线程 B 在收到某个触发条件时,需要拷贝当前队列中的所有数据,把数据存到本地。
目前发现不加锁,存到本地的数据不正确。加锁的话,线程 A 会阻塞,线程 A 需要保证不阻塞。
有没有较好的解决类似问题的方法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.