zoukankan      html  css  js  c++  java
  • 死锁

    死锁

    public class DeadLock {
    
        public static void main(String[] args) {
            MakeUp g1 = new MakeUp(0, "小红");
            MakeUp g2 = new MakeUp(1, "小绿");
            g1.start();
            g2.start();
        }
    }
    //口红
    class Lipstick{
    
    }
    //镜子
    class Mirror{
    
    }
    //化妆
    class MakeUp extends Thread{
        //用static修饰,保证只有一份资源
        static Lipstick lipstick = new Lipstick();
        static Mirror mirror = new Mirror();
        int choice;
        String girlName;
        MakeUp(int choice,String girlName){
            this.choice = choice;
            this.girlName = girlName;
        }
        @Override
        public void run() {
            try {
                makeUp();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        public void makeUp() throws InterruptedException {
            if (choice == 0){
                 synchronized (lipstick){//获得口红的锁
                     System.out.println(this.girlName + "获得口红");
                     Thread.sleep(1000);
                     synchronized (mirror){//获得镜子的锁
                         System.out.println(this.girlName + "获得镜子");
                     }
                 }
    
            }else {
                synchronized (mirror){//获得镜子的锁
                    System.out.println(this.girlName + "获得镜子");
                    Thread.sleep(2000);
                    synchronized (lipstick){//获得口红的锁
                        System.out.println(this.girlName + "获得口红");
                    }
                }
            }
        }
    }
    

    产生死锁的必要条件:

    1. 互斥条件:一个资源只能被一个进程使用。
    2. 请求与保持条件:一个进程因请求资源而阻塞时,对以获得资源保持不放。
    3. 不剥夺条件:进程以获得的资源在未使用完之前不能被强行剥夺。
    4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源。
    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    windows下安装python模块
    红包demo
    如何查看python 的api
    vscode 与 python 的约会
    默认构造函数
    关于重载
    转类型转换
    asm-offset.h 生成
    debian 7 安装
    emacs 定制进缩风格
  • 原文地址:https://www.cnblogs.com/xd-study/p/13193984.html
Copyright © 2011-2022 走看看