zoukankan      html  css  js  c++  java
  • 死锁必须synchronize套synchronize

    package com.Thread;
     
    public class DeathSynchronized {
           public static void main(String[] args) {
                 //资源
                Object g = new Object();
                Object m = new Object();
                 //创建线程
                Test1 t1 = new Test1(g,m);
                Test2 t2 = new Test2(g,m);
                Thread proxy = new Thread(t1);
                Thread proxy2 = new Thread(t2);
                 //启动线程
                proxy.start();
                proxy2.start();
          }
    }
     
    class Test1 implements Runnable {
          Object goods ;
          Object money ;
           public Test1(Object goods, Object money) {
                 this.goods = goods;
                 this.money = money;
          }
     
           @Override
           public void run() {
                 while(true ) {
                       try {
                            test();
                      } catch (Exception e) {
                            e.printStackTrace();
                      }
                }
          }
          
           public void test(){
                 synchronized(goods ){
                       try {
                            Thread. sleep(1000);
                      } catch (InterruptedException e) {
                            e.printStackTrace();
                      }
                       synchronized(money ){
                      }
                      System. out.println("一挥手交钱、、、、" );
                }
          }
          
    }
    class Test2 implements Runnable {
          Object goods ;
          Object money ;
           public Test2(Object goods, Object money) {
                 this.goods = goods;
                 this.money = money;
          }
     
           @Override
           public void run() {
                 while(true ) {
                       try {
                             test();
                      } catch (Exception e) {
                            e.printStackTrace();
                      }
                }
          }
          
           public void test (){
                 synchronized(money ){
                       try {
                            Thread. sleep(5000);
                      } catch (InterruptedException e) {
                            e.printStackTrace();
                      }
                       synchronized(goods ){
                            
                      }
                      System. out.println("一挥手交huo、、、、" );
                }
          }
          
    }
  • 相关阅读:
    sublime-生成html1.0
    sublime代码片段
    单色半透明-兼容IE7
    IE
    身心被掏空
    屏幕适配的方法
    宫格布局实例(注意jquery的版本号要统一)
    宫格布局实例(注意jquery的版本号要统一)2
    有 n个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。
    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
  • 原文地址:https://www.cnblogs.com/king-/p/4389732.html
Copyright © 2011-2022 走看看