java无锁化编程一:目录

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

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

 

1.悲观锁和乐观锁编程

悲观锁和乐观锁这种,你们当即会联想到数据库读写。可是咱们仍然能够尝试的在获取对象锁上理解。数组

没错,锁技术很慢。网络

 

2.读写分离,读写锁并发

 

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

 

4.actor模型的引入线程

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

 

5.无锁化编程思想:像闪电同样的disruptornetty

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

这个要仔细说。

相关文章
相关标签/搜索