博文视点(北京)官方博客

——技术凝聚实力 专业创新出版

Netty的并发编程实践3:CAS指令和原子类

互斥同步最主要的问题就是进行线程阻塞和唤醒所带来的性能的额外损耗,因此这种同步被称为阻塞同步,它属于一种悲观的并发策略,我们称之为悲观锁。随着硬件和操作系统指令集的发展和优化,产生了非阻塞同步,被称为乐观锁。简单地说,就是先进行操作,操作完成之后再判断操作是否成功,是否有并发问题,如果有则进行失败...

2015-05-29 13:11:03

阅读数:1410

评论数:0

Netty的并发编程实践2:volatile的正确使用

长久以来大家对于volatile如何正确使用有很多的争议,既便是一些经验丰富的Java设计师,对于volatile和多线程编程的认识仍然存在误区。其实,volatile的使用非常简单,只要理解了Java的内存模型和多线程编程的基础知识,正确使用volatile是不存在任何问题的。下面我们结合Net...

2015-05-28 13:43:22

阅读数:1513

评论数:1

Netty的并发编程实践1:正确使用锁

很多刚接触多线程编程的开发者,虽然意识到了并发访问可变变量需要加锁,但是对于锁的范围、加锁的时机和锁的协同缺乏认识,往往会导致出现一些问题。下面笔者就结合Netty的代码来讲解下这方面的知识。 打开ForkJoinTask,我们学习一些多线程同步和协作方面的技巧。首先是当条件不满足时阻塞某个任务...

2015-05-27 09:35:22

阅读数:1491

评论数:0

为什么选择Netty作为基础通信框架?

在开始之前,我先讲一个亲身经历的故事:曾经有两个项目组同时用到了NIO编程技术,一个项目组选择自己开发NIO服务端,直接使用JDK原生的API,结果两个多月过去了,他们的NIO服务端始终无法稳定,问题频出。由于NIO通信是它们的核心组件之一,因此项目的进度受到了严重的影响。另一个项目组直接使用Ne...

2015-05-27 09:33:17

阅读数:8687

评论数:0

提示
确定要删除当前文章?
取消 删除