Easyhoon_w 2022-08-04 23:10 采纳率: 0%
浏览 34

Java 线程问题,求解

Java线程问题:
代码:

public class Demo01 implements Runnable {

    private boolean falg=true;

    @Override
    public void run() {
        int a=0;
        while (falg){
            System.out.println("线程第"+a+++"次");
            }
        }
    public void myStop(){
            this.falg=false;
    }

    public static void main(String[] args) {
        Demo01 demo01 = new Demo01();
        new Thread(demo01).start();
        for(int b=1;b<20;b++){
            System.out.println("main"+b);
            if (b==15){
                demo01.myStop();
                System.out.println("线程被停止了");
            }
        }
    }
}

当存在主线程打印语句 ( System.out.println("main"+b);)输出结果如下:

img


该效果为我预期效果
当不存在主线程打印语句 ( System.out.println("main"+b);)输出结果如下:

img


我的demo01线程也没有输出打印了,求解

  • 写回答

2条回答 默认 最新

  • vigiles 2022-08-04 23:27
    关注

    在18、19行中间加一段

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    

    你的现象的原因就是,主线程执行太快,子线程还没来得及真正执行,就被”demo01.myStop();“了

    评论

报告相同问题?

问题事件

  • 请采纳用户回复 8月4日
  • 创建了问题 8月4日

悬赏问题

  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?
  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题