您现在的位置是:首页 > 文章详情

JAVA中的多线程——死锁

日期:2018-05-08点击:355

JAVA中的多线程——死锁

了解死锁,是为了开发中避免死锁。

  1. /*
  2.  * 死锁
  3.  * 同步中嵌套同步,锁却不同 
  4.  * 
  5.  * */
  6. class Ticket3 implements Runnable {
  7.     private int tick = 1000;
  8.     Object object = new Object();
  9.     boolean flag=true;
  10.     public void run() {
  11.         if(flag){
  12.         while (true) {
  13.             synchronized (object) {
  14.                 show1();
  15.             }
  16.         }
  17.         }
  18.         else {
  19.             while(true)
  20.                 show1();
  21.         }
  22.     }
  23.     public synchronized void show1(){
  24.         synchronized (object) {
  25.             if (tick > 0) {
  26.             }
  27.             try {
  28.                 Thread.sleep(10);
  29.             } catch (Exception e) {
  30.                 // TODO: handle exception
  31.             }
  32.             System.out.println(Thread.currentThread().getName() + "sale:" + tick--);
  33.         }
  34.     }
  35. }
  36. public class DeadLockDemo {
  37.     public static void main(String args[]) {
  38.         Ticket3 ticket1 = new Ticket3();
  39.         Thread t1 =new Thread(ticket1);
  40.         Thread t2=new Thread(ticket1);
  41.         t1.start();
  42.         try {
  43.             Thread.sleep(10);
  44.         } catch (Exception e) {
  45.             // TODO: handle exception
  46.         }
  47.         ticket1.flag=false;
  48.         t2.start();
  49.     }
  50. }

 原文地址http://www.bieryun.com/3712.html

原文链接:https://yq.aliyun.com/articles/591132
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章