摘要: 为了测试java多线程死锁得到java多线程死锁的直观感觉,写出以下测试代码。public class TestDeadLock{public static void main(String[] args){A a=new A();B b=new B(a);a.set(b);Thread t1=ne... 阅读全文
posted @ 2015-10-24 23:46 果维 阅读(3440) 评论(0) 推荐(1) 编辑
摘要: 在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术:加锁顺序加锁时限死锁检测加锁顺序当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生。如果能确保所有的线程都是按照相同的顺序获得锁,那么死锁就不会发生。看下面这个例子:Thread 1: lock A lock B... 阅读全文
posted @ 2015-10-24 22:12 果维 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能... 阅读全文
posted @ 2015-10-24 19:26 果维 阅读(174) 评论(0) 推荐(0) 编辑