
多线程
Mountain_
这个作者很懒,什么都没留下…
展开
-
关于InterruptedExceptoin
可能会花一些时间,但是可以取消掉 在编写多线程程序时,我们都会习惯去看看方法后是否跟着throws InterruptedException.当方法后面跟着throws InterruptedException时,表示这个方法内可能会抛出InterruptedException异常. 这通常暗示了我们两个信息: 这是"需要花费点时间"的方法 这是...原创 2010-08-03 11:13:10 · 170 阅读 · 0 评论 -
理解ThreadLocal
值得一提的是,在JDK5.0中,ThreadLocal已经支持泛型,该类的类名已经变为ThreadLocal<T>。API方法也相应进行了调整,新版本的API方法分别是void set(T value)、T get()以及T initialValue()。 ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单:在ThreadLocal类中有一个Map,...原创 2010-08-03 14:27:44 · 143 阅读 · 0 评论 -
死锁的四个必要条件以及处理策略
什么是死锁? 如果一个进程集合里面的每个进程都在等待只能由这个集合中的其他一个进程(包括他自身)才能引发的事件,这种情况就是死锁。 这个定义可能有点拗口,一个最简单的例子就是有资源A和资源B,都是不可剥夺资源,现在进程C已经申请了资源A,进程D也申请了资源B,进程C接下来的操作需要用到资源B,而进程D恰好也在申请资源A,那么就引发了死锁。这个肯定每个人都看过了。然后套用回去定义:如果一个...原创 2010-11-07 23:30:09 · 102 阅读 · 0 评论