zoukankan      html  css  js  c++  java
  • 线程死锁

    死锁:     多线程同步的时候,如果同步代码块嵌套,使用相同锁,就有可能出现死锁 

           private static String s1 = "筷子左";
                private static String s2 = "筷子右";
                public static void main(String[] args) {
                    new Thread() {
                        public void run() {
                            while(true) {
                                synchronized(s1) {
                                    System.out.println(getName() + "...拿到" + s1 + "等待" + s2);
                                    synchronized(s2) {      
                                        System.out.println(getName() + "...拿到" + s2 + "开吃");
                                    }
                                }
                            }
                        }
                    }.start();
                    
                    new Thread() {
                        public void run() {
                            while(true) {
                                synchronized(s2) {
                                    System.out.println(getName() + "...拿到" + s2 + "等待" + s1);
                                    synchronized(s1) {
                                        System.out.println(getName() + "...拿到" + s1 + "开吃");
                                    }
                                }
                            }
                        }
                    }.start();
                }
    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    VUE 入门基础(2)
    VUE 入门基础(1)
    常用正则表达式
    git 常用命令
    JavaScript 常用算法
    SVG 使用
    移动前端头部标签(HTML5 meta)
    开发常用小demo 整理
    Reactjs 入门基础(三)
    Reactjs 入门基础(二)
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11355103.html
Copyright © 2011-2022 走看看