- 浏览: 2306 次
最新评论
文章列表
ConcurrentLinkedQueue是线程安全的队列,它适用于“高并发”的场景
之前知道concurrentHashMap是使用了分段锁的机制来更好的控制细粒度,但是ConcurrentLinkedQueue却是使用了一种非阻塞算法来实现的,在搜索了很久还是不理解的情况下,对着源码苦啃1小时终于有了点眉目。。膜拜Doug Lea大师啊。。
首先要先知道ConcurrentLinkedQueue中标识尾节点的tail引用使用的是volatile,每当一个线程的值修改了它都会对其它线程可见。。并且tail节点并不是都是指向的是最后一个尾节点。。后面我们会详细介绍到
先上代 ...
之前看过关于NIO的介绍,但是没有深究。。前几天研究了java的NIO,然后偶然在IBMdeveloper上看到了一个年代久远的“基于时间的NIO多线程服务器”文章,于是我就仔细研究了下。http://www.ibm.com/developerworks/cn/java/l-niosvr/这是这篇文章的地址。相同的地方我就不贴了,直接看原帖就好了。我贴的是大致的流程和一些重要的类吧。。使用的也就是channel 和selector,还有资源池。。
它这篇文章它使用了观察者模式,并且将客户端传来的信息封装成一个request类,将要写给客户端的也封装成一个response类,这都 ...