为了账号安全,请及时绑定邮箱和手机立即绑定

老师,我的代码为什么停不下来啊??

public class WrongExit extends Thread{
	public void run(){
		while(!this.isInterrupted()){
			System.out.println("Thread is continuing");
			long time = System.currentTimeMillis();
			while((System.currentTimeMillis()-time<1000)){
			}
		}
	}
	public static void main(String[] args){
		WrongExit WE = new WrongExit();
		System.out.println("----------线程开始---------");
		WE.start();
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		System.out.println("********3秒后终止线程********");
		Thread.interrupted();
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		System.out.println("线程结束");
		}
}


正在回答

4 回答

用WE.interrupt()。 Thread.interrupted()错了。

0 回复 有任何疑惑可以回复我~
#1

初级学习号

为什么错了,Thread.interrupted()是不是中断main主线程?
2015-06-25 回复 有任何疑惑可以回复我~
#2

Jimmy 回复 初级学习号

public static boolean interrupted():测试当前线程是否已经被中断。该方法会清除线程的'中断状态'。 具体解释可以查阅API文档
2016-01-30 回复 有任何疑惑可以回复我~

变量首写字母 建议小写 驼峰式命名  用你的变量去interrupt,

Thread.interrupted()

进程的interrupt状态被清除(cleard)而非被设置(set)。

0 回复 有任何疑惑可以回复我~

因为你定义的名字是WE

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师,我的代码为什么停不下来啊??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信