java如何停止一个wait的线程

假设有五六个线程还处于wait()状态,现在我要结束整个程序了,如何结束这些线程?写个例子吧... 假设有五六个线程还处于wait()状态,现在我要结束整个程序了,如何结束这些线程?写个例子吧 展开
 我来答
我才是淡淡
2015-12-12 · TA获得超过1540个赞
知道小有建树答主
回答量:1289
采纳率:0%
帮助的人:723万
展开全部
java.lang.System类

static void    exit(int status) 
          终止当前正在运行的 Java 虚拟机。
追问
可以用interrupt写一个结束线程的例子吗,写的详细点吧。。。。
追答
public class Demo extends Thread {
volatile private boolean stop = false;

public void setStop(boolean stop) {
this.stop = stop;
}

public Demo(ThreadGroup group, String name) {
super(group, name);
}

public static void main(String args[]) throws Exception {
Demo thread = null;
ThreadGroup tg = new ThreadGroup("洒家的线程组");
for (int i = 0; i < 5; i++) {
thread = new Demo(tg, "thread-" + i);
thread.start();
}
Thread.sleep(3000);
System.out.println("去吧皮卡丘,中断他们");
Thread[] ts = new Thread[tg.activeCount()];
tg.enumerate(ts);
for (Thread t : ts) {
((Demo)t).setStop(true);
t.interrupt();
}
Thread.sleep(1000);
System.out.println("都特么挂了");
}

public void run() {
String threadName = Thread.currentThread().getName();
synchronized (this) {
System.out.println(threadName + " 跑起来了");
while (!stop) {
try {
System.out.println(threadName + " wait了");
wait();
} catch (InterruptedException e) {
System.out.println(threadName + " 不再wait了");
}
}
}
System.out.println(threadName + "拜拜");
}
}

仅供参考

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式