摘要:
有多个线程执行的程序中,某个线程t1需要锁住两个对象obj1和obj2才能完成任务,而线程t2也需要锁住这两个对象,t1首先锁住obj1,t2首先锁住obj2,t1需要等待t2将obj2的锁放开,而t2也需要等待t1将obj1放开才能执行完,此时便进入了死锁状态。 死锁演示程序如下: 1 p... 阅读全文
摘要:
1 import java.util.*; 2 public class thd implements Runnable 3 { 4 Timer timer = new Timer(); 5 public static void main(String args[]) 6 ... 阅读全文
摘要:
1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIOR... 阅读全文
摘要:
一、java中线程的两种方式: 1.通过实现Runnable()接口; 2.通过继承Thread类来实现;下面我们分别来实现这两种方式: 1.实现Runnable()接口 1 public class thd 2 { 3 public static void main(String a... 阅读全文