mu_tou_man

导航

 

2014年6月18日

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