E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
无锁队列
无锁编程基础
(界定问题)CAS等原子操作
无锁队列
的链表实现ABA问题解决ABA的问题用数组实现
无锁队列
小结背景我们处在技术快速发展的时代,竞争变得前所未有的激烈,不仅要十八般武艺俱全,还得选对正确的技术,跟上发
诸葛蜗牛
·
2019-01-29 17:46
后端开发
性能优化
Go语言
无锁队列
组件的实现 (chan/interface/select)
但是进程需要控制协程数量在合理范围内,对应大批量任务可以使用“协程池+
无锁队列
”实现。
旭东的博客
·
2018-12-31 11:00
C++原子性实现
无锁队列
(待完善)
关于CAS等原子操作CAS操作——Compare&Set,或是Compare&Swap,现在几乎所有的CPU指令都支持CAS的原子操作。有了这个原子操作,就可以实现各种无锁(lockfree)的数据结构。与CAS相似的还有下面的原子操作:(这些东西大家自己看Wikipedia吧)FetchAndAdd,一般用来对变量做+1的原子操作Test-and-set,写值到某个内存位置并传回其旧值。汇编指令
土戈
·
2018-11-02 08:03
C++11
无锁消息队列
RingBuffer目录(一)起因(二)混合自旋锁(三)q3.h与RingBuffer(四)RingQueue(上)自旋锁(五)RingQueue(中)休眠的艺术(六)RingQueue(中)休眠的艺术[续]
无锁队列
第一篇文章末尾我们提到的
linuxheik
·
2018-09-07 09:03
自旋锁spinlock
Disruptor中遇到的坑
经朋友推荐,我在项目采用lmax的disruptor
无锁队列
框架来实现异步记录监控统计信息。
张育嘉
·
2018-08-31 16:48
【Java基础】并发
高性能
无锁队列
Disruptor 初体验
原文地址:haifeiWu和他朋友们的博客博客地址:www.hchstudio.cn欢迎转载,转载请注明作者及出处,谢谢!最近一直在研究队列的一些问题,今天楼主要分享一个高性能的队列Disruptor。whatDisruptor?它是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。基于Disruptor开发的系统单线程能支撑每秒600万订单。目前,包括Apache
whfstudio
·
2018-08-16 21:52
Java技术
c++11
无锁队列
/*************************************************************************>FileName:lockfreequeue.cpp>Author:>Mail:>CreatedTime:Wed08Aug201811:38:08AMCST***********************************************
qq_35728402
·
2018-08-08 19:05
c++
2018-08-02 你应该知道的高性能
无锁队列
Disruptor
https://juejin.im/post/5b5f10d65188251ad06b78e3你应该知道的高性能
无锁队列
Disruptor1.何为队列听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见
Albert陈凯
·
2018-08-02 14:55
原子操作-atomic
文章目录一、原子操作(可以实现
无锁队列
)二、原子操作demo一、原子操作(可以实现
无锁队列
) 所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候
lx青萍之末
·
2018-07-23 19:19
c++并发编程
C++原子性实现
无锁队列
关于
无锁队列
的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。
mijichui2153
·
2018-07-21 21:40
原理剖析(第 012 篇)Netty之
无锁队列
MpscUnboundedArrayQueue原理分析
原理剖析(第012篇)Netty之
无锁队列
MpscUnboundedArrayQueue原理分析-一、大致介绍1、了解过netty原理的童鞋,其实应该知道工作线程组的每个子线程都维护了一个任务队列;2、
YLIMHHMILY
·
2018-03-31 00:18
analysis
JDK原理剖析
线程安全的无锁RingBuffer的实现【多个写线程一个读线程】
在之前的一篇博客中,写了一个在特殊情况下,也就是只有一个读线程和一个写线程的情况下,的
无锁队列
的实现。其中甚至都没有利用特殊的原子加减操作,只是普通的运算。
安静平和
·
2017-11-28 13:28
DotNet
高并发
Disruptor
无锁队列
浅析
因为我日常与服务器及消息队列打交道较多,对生产者与消费者问题比较感兴趣,正好之前曾经研究过“Disruptor
无锁队列
”的实现原理,正好再结合PV操作重新回顾下:注:PV操作中P为荷兰文passeren
morphyyang
·
2017-10-18 23:09
网络编程
操作系统
高性能SPSC
无锁队列
设计之路
序本文整理了SingleProducer/ConsumerlockfreeQueuestepbystep这篇文章里头关于高性能的SPSC
无锁队列
使用遵循的几个原则:单写原则使用lazySet替代volatileset
codecraft
·
2017-09-06 00:00
java
基于boost库的线程安全queue
STL的queue多线程下是不安全的,当然网上有很多
无锁队列
,如boost::lockfree::queue就是很好的东西。这里实现一个互斥锁的线程安全队列,基于STL的QUEUE。
oceanperfect
·
2017-06-08 11:26
c/c++
多线程的那点儿事(之
无锁队列
)
转自:http://blog.csdn.net/feixiaoxing/article/details/7047856对于编写多线程的朋友来说,队列具有天生的互斥性。在队列里面,一个负责添加数据,一个负责处理数据。谁也不妨碍谁,谁也离不开谁。所以,队列具有天生的并行性。[cpp]viewplaincopy#defineMAX_NUMBER1000L#defineSTATUSint#defineOK
_浪潮之巅
·
2017-05-02 10:08
多线程&多进程
深入理解dpdk rte_ring
无锁队列
一、简介同样用面向对象的思想来理解
无锁队列
ring。dpdk的
无锁队列
ring是借鉴了linux内核kfifo
无锁队列
。ring的实质是FIFO的环形队列。
自己的歌
·
2017-04-06 00:42
dpdk
无锁队列
rte_ring
kfifo
ring
dpdk
MpscLinkedQueue
无锁队列
Overview数据结构实现OfferPoll伪共享OverviewNetty的
无锁队列
适用于单消费者多生产者场景Alock-freeconcurrentsingle-consumermulti-producerQueue
丁国航
·
2017-02-16 10:17
java
Queue
java高并发:CAS无锁原理及广泛应用
AtomicIntegerunsafe在java领域的广泛应用jdk中的CAS实现java.util.concurrent.atomic包跳跃表java.util.concurrent.ConcurrentSkipListMap
无锁队列
快乐崇拜234
·
2016-12-20 12:39
java/java8
分布式+高并发
Java11源码分析
AtomicInteger介绍
内容引用:原子变量(AtomicLong,AtomicInteger,AtomicReference)Java线程(十):CAS
无锁队列
的实现概述一个提供原子操作的Integer的类。
Random__Walker
·
2016-08-15 12:16
java并发
无锁化编程有哪些常见方法?----阿里巴巴2015实习生笔试题
那么就可以做到免锁访问环形缓冲区(RingBuffer)RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法CAS(Compare-and-Swap),如无锁栈,
无锁队列
等待添加笔记求解答
chengonghao
·
2016-07-08 16:23
牛客网选择题总结
无锁队列
原理和实现
最近在研究无锁编程相关的东西,特别是无锁数据结构,看了不少人的文章和博客,深受启发,于是决定动手基于数组实现一个C++的
无锁队列
。
pkucuida
·
2016-07-07 20:11
无锁编程
多线程
无锁队列
的实现
一、什么是多线程
无锁队列
?
ice冰01
·
2016-05-12 10:28
无锁队列
的分析与设计
首先说明为什么要有
无锁队列
这样的数据结构。大家都知道当今一个提高应用性能的主要方式是采取并发编程的模式,而其中尤其以多线程编程方式为主。
a809146548
·
2016-05-10 19:00
多线程
C++
linux
kernel
C++11
无锁
无锁队列
的实现
关于
无锁队列
的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。
a809146548
·
2016-05-10 19:00
多线程
C++
linux
kernel
C++11
无锁
并发
无锁队列
学习
队列在计算机中非常重要的一种数据结构,尤其在操作系统中。队列典型的特征是先进先出(FIFO),符合流水线业务流程。在进程间通信、网络通信之间经常采用队列做缓存,缓解数据处理压力。结合自己在工作中遇到的队列问题,总结一下对不同场景下的队列实现。根据操作队列的场景分为:单生产者——单消费者、多生产者——单消费者、单生产者——多消费者、多生产者——多消费者四大模型。其实后面三种的队列,可以归纳为一种多对
a809146548
·
2016-05-10 18:00
多线程
C++
并发
C++11
无锁
[UE4]引擎自身提供的
无锁队列
等无锁容器(TLockFreePointerList)
常用的接口:TLockFreePointerListFIFO:先进先出;TLockFreePointerListLIFO:后进先出;TLockFreePointerListUnordered:看注释是说这个List内部元素是无序的,但效率比前面两个更高。 注意:如果你的元素是一个指针,比如A*val,那么模版名只需要用A而不要用A*,比如:TLockFreePointerListFIFO。也就是
aigo
·
2016-05-07 16:00
UE4
一读一写
无锁队列
c++实现
相关文章:无锁环形缓冲(Wait-freeringbuffer) http://aigo.iteye.com/blog/1913518 方案:用atomic实现boost提供了一种标准的所谓Wait-freeringbuffer,官方文档上叫buffer,但是其实现其实还是queue,因为push和pop的时候没有size参数,就是说其内部是具体的元素对象,不是类似字节流那种闭环的buffer。另
aigo
·
2016-04-01 23:00
C++
单个生产者单个消费者
无锁队列
c++实现
阅读更多keyword:lockfree、lock-free、queue、buffer、无锁相关文章:无锁环形缓冲(Wait-freeringbuffer)http://aigo.iteye.com/blog/1913518方案:用atomic实现boost提供了一种标准的所谓Wait-freeringbuffer,官方文档上叫buffer,但是其实现其实还是queue,因为push和pop的时候
aigo
·
2016-04-01 23:00
C++
Boost
无锁队列
所以想起用
无锁队列
来实现,性能确实提升了。
okiwilldoit
·
2016-03-24 11:24
C++学习
Boost
无锁队列
所以想起用
无锁队列
来实现,性能确实提升了。
okiwilldoit
·
2016-03-24 11:00
多线程安全CAS实现的无锁
实现
无锁队列
的关键点有二:1、各个平台的原子操作或者说CAS原语;2、ABA问题的理解和解决。
执著的追求
·
2016-03-20 15:29
网络编程
zeromq源码分析笔记之
无锁队列
ypipe_t(3)
而ypipe_t实质上是一个
无锁队列
,其底层使用了yqueue_t队列,ypipe_t是对yueue_t的再包装,所以我们先来看看yqueue_t是怎么实现的。
zengzy
·
2016-01-18 11:00
zeromq源码分析笔记之准备(0)
zeromq这个库主要用于进程通信,包括本地进程、网络通信,涉及到一些基础知识,主要包括管道通信,socket编程的内容,反应器模式(使用IO多路复用实现),
无锁队列
这几块比较重要的部分,下面的几个链接是这几块内容的学习笔记
zengzy
·
2016-01-11 23:00
高效C++
无锁队列
实现(转载)
国外一牛人做的,支持多平台,支持多线程写、多线程读,并可指定读写token,转载过来。感觉作者也时刻维护着他这个项目,我提了一些问题,每次都会及时得到答复,而且回复得非常认真仔细,非常赞!链接地址(可下载源码):https://github.com/cameron314/concurrentqueue作者的测试效果统计:http://moodycamel.com/blog/2014/a-fast-
bodybo
·
2015-12-24 13:34
C/C++
高效C++
无锁队列
实现(转载)
国外一牛人做的,支持多平台,支持多线程写、多线程读,并可指定读写token,转载过来。感觉作者也时刻维护着他这个项目,我提了一些问题,每次都会及时得到答复,而且回复得非常认真仔细,非常赞!链接地址(可下载源码):https://github.com/cameron314/concurrentqueue作者的测试效果统计:http://moodycamel.com/blog/2014/a-fast-
bodybo
·
2015-12-24 13:00
C++
Queue
lock-free
多线程下队列的优化
0.前言前段时间在看
无锁队列
相关的东西时发现了一篇关于加锁队列算法优化的文章,故看了下其原理以及使用C实现了该队列。该队列在Java中类LinkedBlockingQueue以及实现了该功能。
Jabnih
·
2015-12-22 18:00
环形
无锁队列
环形
无锁队列
环形
无锁队列
TableofContents1环形
无锁队列
的实现2死锁及饥饿3一些优化1环形
无锁队列
的实现数据结构定义:templateclassLockFreeQueue { private
弗远
·
2015-12-01 23:00
C#中Finally的一个不太常见的用法
注意,这是一个
无锁队列
的实现. try { }
·
2015-11-13 20:55
finally
一种高效无锁内存队列的实现
一种高效无锁内存队列的实现 « 搜索技术博客-淘宝 11 十 一种高效无锁内存队列的实现 悟时 Disruptor是LMAX公司开源的一个高效的内存
无锁队列
·
2015-11-13 18:39
内存
队列加锁无锁栈实现一例
本篇文章个人在上海游玩的时候突然想到的...这两天就有想写几篇关于队列加锁的笔记,所以回家到之后就奋笔疾书的写出来发布了 一、何谓
无锁队列
·
2015-11-13 02:08
队列
一个可无限伸缩且无ABA问题的
无锁队列
关于
无锁队列
,详细的介绍请参考陈硕先生的《
无锁队列
的实现》一文。
·
2015-11-12 16:46
队列
无锁队列
转载:http://hi.baidu.com/ah__fu/blog/item/9c5b1236934f84240b55a92b.html 下面是他写的
无锁队列
的文章: Michael &Scott
·
2015-11-10 21:34
队列
使用
无锁队列
(环形缓冲区)注意事项
环形缓冲区是生产者和消费者模型中常用的数据结构。生产者将数据放入数组的尾端,而消费者从数组的另一端移走数据,当达到数组的尾部时,生产者绕回到数组的头部。如果只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)。写入索引只允许生产者访问并修改,只要写入者在更新索引之前将新的值保存到缓冲区中,则读者将始终看到一致的数据结构。同理,读取索引也只允许消费者访问并修改。
·
2015-11-08 10:20
队列
无锁队列
--基于linuxkfifo实现
一直想写一个
无锁队列
,为了提高项目的背景效率。 有机会看到linux核心kfifo.h 原则。 所以这个实现自己仿照,眼下linux我们应该能够提供外部接口。
·
2015-11-02 19:11
linux
简易高效的Delphi原子队列
本文提供Delphi一个基于原子操作的
无锁队列
,简易高效。适用于多线程大吞吐量操作的队列。 可用于Android系统和32,64位Windows系统。
·
2015-11-02 16:27
Delphi
无锁队列
的实现-循环数组
通过CAS操作免锁设计: CAS原子 操作(Compare & Set):包含三个操作数,内存值V、旧的预期值 oldval、要修改的新值newval,当且仅当内存V中的值和旧值oldval相同时,将内存V修改为newval。 数组队列是一个循环数组,队列少用一个元素,当头等于尾标示队空,尾加1等于头标示队满。 数组的元素用EMPTY(无数据,标示可以入队)和FULL(有数
·
2015-11-02 12:55
数组
多线程的那点儿事14(之
无锁队列
)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于编写多线程的朋友来说,队列具有天生的互斥性。在队列里面,一个负责添加数据,一个负责处理数据。谁也不妨碍谁,谁也离不开谁。所以,队列具有天生的并行性。 [cpp] view plain copy
·
2015-10-31 17:15
多线程
单读者单写者的
无锁队列
一个读线程,一个写线程,共同操作一个队列,不用锁如何避免冲突? 通常用锁是因为读写线程共同操作一个count计数器,改成两个线程各操作一个计数器,每次读写之前比较两个计数器的大小。 初始: head=-1; rear=0; a=0; b=0; 读线程: while(a>=b);//轮询 head=(he
·
2015-10-31 11:12
队列
多读者多写者的
无锁队列
单读者单写者很容易进行冲突避免,毕竟他们操作的是不同的指针(head和rear),而多读者则需要共同操作head,多写者共同操作rear,似乎必须要加锁,锁机制是内核提供的一种对象,比较影响效率。 可以借鉴spinlock的实现机制,利用CPU提供的原子指令(x86上有cmpxchg,即比较交换,当某个内存地址里的值等于某个值时,则将该地址里的内容与某个寄存器交换,这一系列操作是原子的,由CP
·
2015-10-31 11:12
队列
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他