package com.bjsxt; /** * 口红类 */ class Lipstick{ } /** * 镜子类 */ class Mirror{ } /** * 化妆线程类 */ class Makeup extends Thread{ private int flag; //flag=0:拿着口红。flag!=0:拿着镜子 private String girlName; static Lipstick lipstick = new Lipstick(); static Mirror mirror = new Mirror(); public void setFlag(int flag) { this.flag = flag; } public void setGirlName(String girlName) { this.girlName = girlName; } @Override public void run() { this.doMakeup(); } /** * 开始化妆 */ public void doMakeup(){ if(flag == 0){ synchronized (lipstick){ System.out.println(this.girlName+" 拿着口红"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } synchronized (mirror){ System.out.println(this.girlName+" 拿着镜子"); } }else{ synchronized (mirror){ System.out.println(this.girlName+" 拿着镜子"); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } synchronized (lipstick){ System.out.println(this.girlName+" 拿着口红"); } } } } public class DeadLockThread { public static void main(String[] args) { Makeup makeup = new Makeup(); makeup.setFlag(0); makeup.setGirlName("大丫"); Makeup makeup1 = new Makeup(); makeup1.setFlag(1); makeup1.setGirlName("小丫"); makeup.start(); makeup1.start(); } }
两个线程都是同时执行,口红类被锁了当它要去用镜子时已经被else里的先占用了,还是死锁的状态啊?为什么可以执行呢?
老师,这是MySQL中的3张表vend_1,vend_2,vend_3,现在我想查询3张表中vend_id出现次数超过2次的vend_id有哪些,要求查询结果返回vend_id及出现的次数
SQL语句要怎么写呢?
老师,不是说实例化不能用new吗?
还有获取计算机的IP地址不应该直接是isa.getHostAddress();吗?这个getAddress()是什么意思?
我登陆的网站参数有点多,如何解决,需要解决这个验证码,然后excution是什么?
老师为什么我这个Tread是红色的
我没有给 “jacymin”这个用户分配unlimited tablespace 这个权限,也可以创建table呢?
这么多语言,由浅入深应该是什么呢?
先学习和了解的,然后进阶的顺序是什么?
int a = new Random().nextInt(4);
swtich (Season.value()[a]){...}
中的[a]是什么用法和下方的case打印什么关系
这是为什么啊
老师请问为什么左边文件目录看不到我的项目文件夹,这是另一个文件夹,听课写代码的文件夹不是这个,怎么调出来呢?
就是这样按视频说的写的,注释里面写代码,但是取不到结果输出的是${a+b} var adder =function (a,b) { return 'this num of the 2 numbers ${a+b}' } console.log(adder(5,3))
老师,Idea绑定的Maven中已经有setting配置文件,那这个路径中setting文件起作用嘛,我发现把它删了项目也不会报错啊。
老师 为啥我的工作目录换成e盘 创建文件就创建不了 d盘就可以
老师 请问这里的第五条_比较运算操作是什么呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637