• java_Thread


    //饿汉式
    class Single{
    private final static Single s = new Single();
    public static Single getInstance(){
    retrun s;
      }
    }
    //懒汉式
    class Single{
    private static Single s = null;
    public static Single getInstance(){
             if(s==null)
    s=new Single();
    return s
      }
    }


    //死锁案例
    class Dead implements Runnable{
    private boolean b=false;
    Dead(boolean b){
    this.b=b;
       }
    public void run(){
    while(true){
    if(b){
    synchronized(Locks.locka){
              S.O.P(Thread.currentThread().getName());
    synchronized(Locks.lockb){
     S.O.P(Thread.currentThread().getName());
               }
              }
    }
    else{
    synchronized(Locks.lockb){
    S.O.P(Thread.currentThread().getName());
    aynchronized(Locks.locka){
    S.O.P(Thread.currentThread().getName());
    }
              }
    }
          }
        }
    }
    //创建锁
    class Locks{
    public static Object locka = new Object();
            public static Object lockb = new Object();
    }


    class DeadLock{
    public static void main(String[] args){
    Dead d1=new Dead(true);
    Dead d2=new Dead(false);
    Thread t1 = new Thread(d1);
    Thread t2 = new Thread(d2);
    t1.start();
    t2.start();
      }
    }

  • 相关阅读:
    111.浮动初识 Walker
    105.灰度和对比度 Walker
    102.表格属性 Walker
    POJ 1321 棋盘问题
    HDU 1106 排序 题解
    HDU 1240 Asteroids! 解题报告
    HDU 1372 Knight Moves
    HDU 1253 胜利大逃亡
    HDU 1231:最大连续子序列 解题报告
    POJ 2251 Dungeon Master
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3104889.html
Copyright © 2020-2023  润新知