java并发
文章平均质量分 88
chenkangxian
这个作者很懒,什么都没留下…
展开
-
ThreadLocal的使用及实现
在java中,如果一个变量需要被多个线程访问,可以使用volatile来声明它为“易变的”。而假如一个变量要被持有它的某个线程独享,在java中,它可以使用java.lang.ThreadLocal类来实现线程本地存储的功能。这样,数据便只在同一个线程内可见和共享,因此,即便不同步也能保证线程之间不出现数据争用。 ThreadLocal使得各线程能够保持各自独立的一个对象,通过Thread...原创 2012-05-22 15:28:21 · 154 阅读 · 0 评论 -
NIO 之 选择就绪模式
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。 Java NIO非堵塞...原创 2011-12-01 22:34:56 · 148 阅读 · 0 评论 -
java 应用的并发与流量控制
前段时间在团队内部做了一次关于并发以及流量控制原理与实施的分享,今天花时间整理了下,分享给大家,同时也希望大家多提宝贵意见,共同进步。 说到java并发,不得不提一下java的线程模型 Java的线程模型 Java的并发实际上是在thread的基础上实现的,因此,说到并发限流的原理,不得不谈到java线程的五种状态之间的转换 图1 java线程的五种状态 从new状态...原创 2012-12-24 21:50:53 · 703 阅读 · 0 评论 -
websocket与comet的性能对比
对于comet长连接来说,服务端如有内容需要发送给客户端时,服务端将原本占用的连接进行回复,此时原有的连接断开,重新发起长连接,直到服务端有内容响应。从每次消息发送到收到服务端消息应答,平均需要两次HTTP请求,一次请求将消息内容提交到服务端,另外还需保持一个长连接,当服务端有内容响应时,及时发回响应,可以通过一个简单的案例来进行介绍: GET /testwebsocket/conn?cmd...原创 2016-01-02 14:34:11 · 379 阅读 · 0 评论