gpt4 book ai didi

c++ - 优化对缓冲区的并发写入

转载 作者:行者123 更新时间:2023-11-30 00:59:43 25 4
gpt4 key购买 nike

我需要有多个线程写入单个缓冲区(连续的内存块)。暴力破解方法如下

  1. 想要写入缓冲区的线程将获得缓冲区上的锁
  2. 整个缓冲区都被锁定,因此只有获得锁的线程才能修改缓冲区。
  3. 线程写入缓冲区。
  4. 线程解锁缓冲区。

此方法序列化所有线程,因为在给定时间只有一个线程处于事件状态。事实证明这是一个瓶颈,因为应用程序将大部分时间都花在写入缓冲区上。

有人可以建议一种在写入单个缓冲区时增加并行度的方法吗?

非常感谢。

最佳答案

让您的线程将它们的数据写入队列。然后,让专用线程从队列写入缓冲区。如果这还不够并发,请牺牲固定顺序并使用多个队列。

关于c++ - 优化对缓冲区的并发写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com