JDK记录
文章平均质量分 84
yaleqiu
这个作者很懒,什么都没留下…
展开
-
CountDownLatch
CountDownLatch 是一个通用同步工具,它有很多用途,将计数 1 初始化的 CountDownLatch 用作一个简单的开/关锁存器,或阀门:在通过调用 countDown() 的线程打开入口前,所有调用 await 的线程都一直在入口处等待。用 N 初始化的 CountDownLatch 可以使一个线程在 N 个线程完成某项操作之前一直等待。 CountDownLatch 的一个有用特...2009-11-07 18:44:27 · 79 阅读 · 0 评论 -
synchronized的优化
在较早版本的JDK中使用synchronized来实现线程安全,但同时使得并发的线程变成顺序执行,对系统并发吞吐能力有极大影响,在JDK1.5以后可以对其进行优化了。 我们先来看看原始的synchronized的使用方法: 悲观锁: public Object get(Object key) { synchronized(map) { if(map.get(...原创 2009-08-31 22:09:27 · 132 阅读 · 0 评论 -
ThredLocal
ThreadLocal作用,总结起来一句话就是,让线程轻松的就可以获得独立实例,不用在线程创建的时候传入。 ThreadLocal在资源实例里使用(创建一个方法A,A创建一个实例并与ThreadLocal绑定),用来在run()方法中调用该方法A,spring中访问数据库的模板使用了ThreadLocal技术,数据库资源本来是非线程安全的,如果使用synchronized进行同步,大大降低了并发访...2009-09-06 01:12:27 · 140 阅读 · 0 评论 -
你还在用IO吗?
回顾传统有必要了解传统的I/O操作的方式。以网络应用为例,传统方式需要监听一个ServerSocket,接受请求的连接为其提供服务(服务通常包括了处理请求并发送响应),下图是服务器的生命周期图,其中标有粗黑线条的部分表明会发生I/O阻塞。 ServerSocket server=new ServerSocket(10000); //接受新的连接请求 Socket newCo...原创 2011-04-01 11:19:55 · 120 阅读 · 0 评论