摘要:        
ReentrantLock ReentrantLock,一个可重入的互斥锁,它具有与使用synchronized方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。 ReentrantLock基本用法 先来看一下ReentrantLock的基本用法: 看一下运行结果: 没有任何的交    阅读全文
posted @ 2015-10-04 23:00
五月的仓颉
阅读(21603)
评论(6)
推荐(10)
        
            
        
        
摘要:        
ThreadLocal的作用 从上一篇对于ThreadLocal的分析来看,可以得出结论:ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到线程的ThreadLocal.ThreadLocalMap里的是是线程自己要存储的对象,其他线程不需    阅读全文
posted @ 2015-10-04 21:34
五月的仓颉
阅读(24138)
评论(13)
推荐(8)
        
            
        
        
摘要:        
ThreadLocal源码剖析 ThreadLocal其实比较简单,因为类里就三个public方法:set(T value)、get()、remove()。先剖析源码清楚地知道ThreadLocal是干什么用的、再使用、最后总结,讲解ThreadLocal采取这样的思路。 三个理论基础 在剖析Thr    阅读全文
posted @ 2015-10-04 18:41
五月的仓颉
阅读(8158)
评论(10)
推荐(4)
        
            
        
        
摘要:        
WeakReference弱引用概述 http://www.cnblogs.com/xrq730/p/4836700.html,关于Java的四种引用状态具体请参看此文 Java里一个对象obj被创建时,被放在堆里。当GC运行的时候,发现没有任何引用指向obj,那么就会回收obj对象的堆内存空间。     阅读全文
posted @ 2015-10-04 16:40
五月的仓颉
阅读(3494)
评论(3)
推荐(0)
        
            
        
        
摘要:        
轮询 线程本身是操作系统中独立的个体,但是线程与线程之间不是独立的个体,因为它们彼此之间要相互通信和协作。 想像一个场景,A线程做int型变量i的累加操作,B线程等待i到了10000就打印出i,怎么处理?一个办法就是,B线程while(i == 10000),这样两个线程之间就有了通信,B线程不断通    阅读全文
posted @ 2015-10-04 13:00
五月的仓颉
阅读(10689)
评论(8)
推荐(7)
        
                    
                
浙公网安备 33010602011771号