- 博客(2)
- 收藏
- 关注
原创 如何正确的挂起一个线程(为什么suspend被弃用)
suspend在JDK1.5时被弃用,因为它经常导致线程死锁。suspend不会破坏对象,但是如果用suspend挂起一个持有一个锁的线程,那么该锁在恢复之前是不可以使用的,如果调用suspend方法的线程试图获得同一个锁,那么会发生什么呢?没错,线程死锁!!被挂起的线程等待恢复,将其挂起的线程等待得到这把锁。 如何正确的得挂起一个线程?//引入一个变量suspendRequested并在run方
2015-12-19 00:40:07
6703
原创 关于interrupt,interrupted,isInterrupted的一点看法。
interrupt 向线程发送中断请求,将其中断状态置位true,但是如果这个线程被一些阻塞函数阻塞,sleep,wait,jion等方法阻塞,会抛出InterruptedException。 interrupted 检测当前线程是否被中断,这是一个静态方法,但是会有一个副作用,强行将现在的线程的中断状态置位为false isInterrupted 同上面的那个办法,但是不会将中断状态置位为f
2015-12-18 21:25:08
736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人