文件名称:
atomic_queue:C ++无锁队列-源码
开发工具:
文件大小: 4mb
下载次数: 0
上传时间: 2021-01-28
详细说明:atomic_queue
基于带有循环缓冲区的C ++ 14多生产者多消费者无锁队列。
这些队列遵循的主要设计原理是极简主义:原子操作的最基本要求,固定大小的缓冲区,值语义。
这些品质也有局限性:
最大队列大小必须在编译时或构造时设置。 循环缓冲区以固定缓冲区大小为代价,回避了基于链表的队列中固有的内存回收问题。 有关更多详细信息,请参见。 固定的缓冲区大小可能没有太大的限制,因为一旦队列变得大于最大预期大小,这表明存在元素处理速度不够快的问题,并且如果队列持续增长,它最终可能会消耗所有可用的内存。可能会影响整个系统,而不仅是有问题的过程。 唯一明显的不便之处是,必须对预期或可接受的最大队列大小进行预先的信封后计算。
没有操作系统阻止推送/弹出功能。 此队列是为超低延迟方案设计的,使用OS阻塞原语将牺牲一键弹出延迟。 为了获得尽可能低的延迟,人们无法承受OS内核中的阻塞,因为阻塞线程的唤醒延迟约为1-3微秒,而此队列的往返时间可以低至150纳秒。
超低延迟应用程序仅需此而已。 极简主义带来了回报,请参阅。
可用的容器有:
AtomicQueue原子元素的固定大小的环形缓
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.