java无锁化编程一:目录

假设我们用netty做服务,当接受到网络传输的码流,我们通过某种手段将这种传输数据解析成了熟悉的pojo,那这些pojo该如何进一步处理?

比如游戏中的抢购、场景业务等,对处理那种高并发的业务场景,如何保证数据的一致性?

 

1.悲观锁和乐观锁

悲观锁和乐观锁这种,大家立即会联想到数据库读写。但是我们仍然可以尝试的在获取对象锁上理解。

没错,锁技术很慢。

 

2.读写分离,读写锁

 

3.MVCC,我曾尝试着用java来实现类似数据库的多版本并发控制,后面具体详说。

 

4.actor模型的引入

java版本的actor,共享线程池,使用cas,实现同一时刻只有单线程访问,同时更高的提升了线程池的利用率。

 

5.无锁化编程思想:像闪电一样的disruptor

这种ringbuffer环形数组解决了队列的头尾指针和大小变量等冲突,而唯一需要关心的,就是多个生产者写入ringBuffer的场景,

这个要仔细说。

转载于:https://www.cnblogs.com/cr1719/p/7392611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值