范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java虚假唤醒(如何避免)

  什么是假唤醒?
  当一个条件满足时,很多线程都被唤醒了,但是只有其中部分是有用的唤醒,其它的唤醒都是无用功
  1.比如说买货,如果商品本来没有货物,突然进了一件商品,这是所有的线程都被唤醒了,但是只能一个人买,所以其他人都是假唤醒,获取不到对象的锁
  为什么 if会出现虚假唤醒
  因为if只会执行一次,执行完会接着向下执行if()外边的
  而while不会,直到条件满足才会向下执行while()外边的
  避免虚假唤醒
  /**
  * 线程之间的通信问题:生产者和消费者的问题 等待唤醒 ,通知唤醒
  * 线程交替执行 A B 操作同一个变量 num=0
  * A num+1
  * B num-1
  */
  public class A {
  public static void main(String[] args) {
  Data data = new Data();
  new Thread(()->{
  for (int i = 0; i < 10; i++) {
  try {
  data.increment();
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  },"A").start();
  new Thread(()->{
  for (int i = 0; i < 10; i++) {
  try {
  data.decrement();
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  },"B").start();
  new Thread(()->{
  for (int i = 0; i < 10; i++) {
  try {
  data.increment();
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  },"C").start();
  new Thread(()->{
  for (int i = 0; i < 10; i++) {
  try {
  data.decrement();
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  }
  },"D").start();
  }
  }
  //判断等待,业务,通知
  class Data{// 数字 资源类
  private int number=0;
  //+1
  public synchronized void increment() throws InterruptedException {
  while (number!=0){
  //等待
  this.wait();
  }
  number++;
  System.out.println(Thread.currentThread().getName()+"=>"+number);
  //通知其他线程 我+1完毕了
  this.notify();
  }
  //-1
  public synchronized void decrement() throws InterruptedException {
  while (number==0){
  //等待
  this.wait();
  }
  number--;
  System.out.println(Thread.currentThread().getName()+"=>"+number);
  //通知其他线程 我-1完毕了
  this.notify();
  }
  }
  怎么产生虚假唤醒
  把 while (product >=1) {}
  换成 if (product >=1) {}
  就会出现虚假唤醒

台积电骁龙85000mAh120W,中兴机皇新增201TB大存储自吴京成为代言人之后,中兴通讯今年在营销上又有新动作。中兴Axon40Ultra会成为新华网现场报道神舟十三号归航独家官方指定机型。不管是吴京代言还是这次的合作,都和中兴留给大众的iPhone摄影小技巧,让你的iPhone秒变单反果粉之家,专业苹果手机技术研究十年!您身边的苹果专家iPhone也许是最简单的摄影手机了,如果你不知道它的隐藏功能,或许会觉得它平平无奇,今天小编教你几个以iPhone13为例,原苹果为什么不用屏幕指纹呢?在今天,安卓的千元机都用上了屏幕指纹解锁,而苹果还在使用2018年的刘海屏幕面容识别,虽然在2018年的时候,苹果是第一个使用面容识别,但都过去这么多年了依旧是没变。安卓早在几年前几百元的波轮洗衣机,和两三千元的有什么区别?有必要买贵的吗?很多人家里都用上滚筒洗衣机了,还在用波轮洗衣机的家庭并不多,如今还坚持用波轮洗衣机的人,很大的原因是由于波轮洗衣机价格便宜,性价比高,而且操作简单方便,洗衣服也干净,完美诠释了什么国产手机都已经用上150W的超级快充,为啥苹果还在坚持20W充电?苹果公司是大家很熟悉也很喜欢的一家公司,因为苹果设计生产出来的产品一直都是物超所值,虽然人们一直在吐槽苹果卖得东西贵,但是每次苹果推出的产品都能卖爆,这就表明了苹果的产品确实有它的从一代情怀到被拒绝,摩托罗拉手机现在真的不能买吗?怎么破局摩托罗拉这个品牌在市场上的表现现在确实还不错,但是口碑方面确实比之以前是两个极端,从一代的情怀产品,还因为性价比不错,在去年的市场上口碑其实也还行,到现在一再被消费者拒绝,口碑表现京东徐雷谁敢在北京整幺蛾子,后果一定很惨的4月24日0时24时,北京新增本土确诊病例24例。不断新增的病例,叠加上海封控依然还有的物资民生问题,让北京人民开始很不淡定,不少人因此抢菜,囤货,一些商场的食物和蔬菜被抢购一空。美团闪购北京商超备货量增长5倍,4天完成近百万个民生物资订单新京报讯(记者秦胜南)近日北京疫情防控形势复杂,生活必需品供应情况备受关注。4月26日,据美团方面消息,美团闪购协同物美京客隆家乐福永辉等多家商超,提升备货量5倍以上,并支持商家延NFT数字藏品热度与泡沫共存三大协会预警遏制NFT金融化倾向来源中国消费者报290万美元购入的NFT(NonFungibleToken,非同质化代币),拍卖时最高出价竟然只有280美元,这一奇闻让创造了无数暴富神话的NFT,终于走下神坛。对普洱茶电子商务营销提示公告普洱茶电子商务营销提示公告为进一步规范普洱茶电子商务营销行为,促进行业健康发展,营造公平有序的竞争环境和安全放心的消费环境,根据中华人民共和国电子商务法中华人民共和国食品安全法中华甘肃新能源产业协同发展路径研究启动中国兰州网4月25日消息日前,中国工程院院地合作项目中国工程科技发展战略甘肃研究院(简称甘肃研究院)2021年度重大战略研究与咨询项目碳达峰碳中和背景下甘肃新能源产业协同发展路径研
一降再降!丰田5月拟减产一成中新经纬4月19日电丰田汽车拟将5月产量较之前计划下调一成左右,这距宣布二季度减产超一成仅过去一个月。据日本经济新闻网报道,受半导体等部分零件采购停滞影响,丰田汽车4月18日宣布,天奈科技2021年净利增长175。88动力电池需求猛涨带动导电剂市场升温4月19日晚间,天奈科技(688116)披露2021年年度报告。年报显示,公司2021年营业收入13。20亿元,同比增长179。68净利润2。96亿元,同比增长175。88扣非净利新车纯电续航660公里支持越野模式!奔驰EQS纯电SUV正式发布文懂车帝原创付博懂车帝原创产品北京时间4月19日,梅赛德斯奔驰EQS纯电SUV正式发布,新车是梅赛德斯EQ系列旗下全新旗舰产品。据悉,奔驰EQS纯电SUV将于2022年在美国塔斯卡工信部新能源汽车累计突破千万辆大关央视新闻消息,工信部的统计显示,我国新能源汽车已累计推广了1033万辆,成为引领全球汽车产业电动化转型的重要力量。今年以来,新能源汽车呈现市场规模发展质量加速提升的发展态势,产业规拿到图纸也造不出发动机?长安新能源弯道超车成不争事实似乎没点独家绝活还不好意思在世界立足了!你有没有试过,提到航天技术,你第一个想到的是中国提到芯片,你首先会想起美国如果是光刻机,那一定是荷兰提到汽车发动机,没有意外的是日本!似乎这日活用户再破1亿钉钉冲破了包围圈,换挡成功了今天,有个数据引起了八姐的注意Questmobile数据显示钉钉2022年3月末的月活跃用户数(MAU)为2。2亿,日活跃用户数(DAU)超过1亿,也超过了企业微信和飞书。八姐觉得工信部发布了,统一电动汽车充电接口的界面型式与结构尺寸近日,工信部发布了关于2021年度乘用车企业平均燃料消耗量与新能源汽车积分情况的公示数据显示2021年油耗负积分为614万,油耗正积分为1553万,新能源负积分为81万,新能源正积7秒多破百,车标还会发光,本田这次买车不再送发动机了买车送发动机一直以来都是大家对本田的印象,凭借着超强的发动机技术以及燃油经济性,本田可以说是家用车发动机中的佼佼者。不过随着新能源汽车的兴起,本田自然不会错过这一趋势,为了紧跟时代马斯克推广比特币的理由马斯克为什么要推广比特币狗狗币?相信大部分人都认为马斯克是为了操纵虚拟货币,是用来割韭菜的!其真实意图不是的,你完全理解错了马斯克。最近的俄乌战争,以美国为首的北约欧盟制裁俄罗斯,8点1氪丨张庭夫妇公司名下96套房产被查封,价值17亿元知乎回应裁员传闻支付宝回应网商银行暂停转入功能上市进行时精锋医疗36氪获悉,据港交所披露,4月19日晚间,深圳市精锋医疗科技股份有限公司向港交所提交上市申请,联席保荐人为摩根士丹利中金公司和花旗。浙江华远近日,浙江华远汽车科技一组关键数据出炉,国产芯片并非看起来这么欣欣向荣华为不仅在手机领域通信领域具有较强的实力,其芯片设计水平同样处于全球领先水平。就拿麒麟9000来说,华为是全球第一个发布5nmsoc芯片的企业,紧随其后的是苹果以及高通。然而正是因