无锁编程

研究下无锁编程,方向是消息队列,读写者的问题。现在有成熟的方案,就是ringBuffer,环形队列。还有是重写数据结构的,从底层改变,使用一些原语。boost就实现了几个无锁的数据结构。没有锁就需要原语,赋值语句和比较语句算不算原子操作呢?boost是把autoIncrement用汇编实现的,有没有必要?环形队列是理想的方法,在网络编程中还是很实用的。他针对的问题虽然很局限,实际上只有一个写者一个读者,但是足够了。大部分时候还是考虑把锁的粒度降到最低才是正确的方向。只有极端情况下,比如大量高速数据的读写者再考虑无锁编程的实现。
发掘了koder网站,收录的代码很多,但是搜索功能太烂,只能碰运气。google code的代码好像都是主流的开源工程的代码,搜索不错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值