摘要:
在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术: 加锁顺序 当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生。 如果能确保所有的线程都是按照相同的顺序获得锁,那么死锁就不会发生。看下面这个例子: 如果一个线程(比如线程3)需要一些锁,那么它必须按照确定的顺序获取锁 阅读全文
posted @ 2018-02-11 16:37
敢闯敢做
阅读(2183)
评论(0)
推荐(0)
摘要:
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRI 阅读全文
posted @ 2018-02-11 15:45
敢闯敢做
阅读(110)
评论(0)
推荐(0)
浙公网安备 33010602011771号