丿末兮 2016-04-24 15:34 采纳率: 0%
浏览 1923
已采纳

while循环为什么跳出了还会再运行一次 新人求知道

实体类
package com.pij.bean;

public class bean {
private int num = 501;

public int getNum() {
    return num;
}

public void setNum(int Num) {
    this.num = num - Num;
}

}

实现接口
package com.pij.imp;

import com.pij.bean.bean;

public class imp implements Runnable {
bean bn = new bean();

@Override
public void run() {

    bea(50);

}

public synchronized void bea(int num) {

    while (true) {

        if (bn.getNum() >= num) {

            System.out.println("你在使用网络系统调用的货物预定");
            System.out.println("现存备货:" + bn.getNum());
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.err.println(Thread.currentThread().getName()
                    + "货物调用预定成功");
            bn.setNum(num);
        } else {
            System.out.println("仓库备货不足");
            System.out.println("现存货数量:" + bn.getNum());
            break;

        }


    }
}

}

测试类
package com.pij.text;

import com.pij.imp.imp;

public class test {
public static void main(String[] args) {
imp a = new imp();
Thread b1 = new Thread(a);
Thread b2 = new Thread(a);

    b1.setName("五厂XX");
    b2.setName("二厂XXX\t\t\t\t");
    b1.start();
    b2.start();


}

}

  • 写回答

4条回答 默认 最新

  • threenewbee 2016-04-24 15:39
    关注

    何以见得多运行了一次?你有两个线程,考虑到这个了么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月6日

悬赏问题

  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)