问答详情
源自:3-2 Java线程停止正确的方法---设置退出旗标

如果不用runnable的方式,用Thread方式。volatile怎么用?

package com.wxl.thread;

public class KeyPersonThread extends Thread {

volatile boolean keepRunning = true;

public void run() {

System.out.println(getName()+"开始战斗!");

while(keepRunning) {

System.out.println(getName()+"左突右杀,攻击隋军...");

}

System.out.println(getName()+"结束战斗!");

}

}


比如我上面keyPerson继承Thread,使用volatile boolean keepRunning = true; 在主线程中,mrCheng.keepRunning=false;会编译不通过!!!

提问者:simpman 2018-06-13 11:52

个回答

  • 今晚打番薯
    2018-12-08 10:36:20

    同问,我发现继承thread的代码并不能在线程之间传递值

  • 我是猫_夏
    2018-07-17 17:18:16

    同问同问,楼主知道答案了吗

  • 慕码人2177816
    2018-06-13 16:41:38

    https://img2.mukewang.com/5b20d818000156cb12420928.jpg

    截图标红的代码没意义了,建议看一下runnable与Thread区别,另外Thread实现runnable接口的