背景:
网上搜到的关于Java线程停止的方法:
外部调用线程的interrupt方法,然后在线程的run函数中, 1. While(isInterrupt());
2. 在循环的末尾添加Sleep(),然后产生异常
3.或者2个混合用。
问题:
我的线程中没有While循环,但它是一个耗时操作,当这个操作在完成一半时,如何安全停止线程。请各位高手帮忙看看有什么好的办法。
网上搜到的关于Java线程停止的方法:
外部调用线程的interrupt方法,然后在线程的run函数中, 1. While(isInterrupt());
2. 在循环的末尾添加Sleep(),然后产生异常
3.或者2个混合用。
问题:
我的线程中没有While循环,但它是一个耗时操作,当这个操作在完成一半时,如何安全停止线程。请各位高手帮忙看看有什么好的办法。
2.如果时间不固定那比如可能是10秒也可能是5秒。while(true){
// wait...
if(flag){
continue;
] // run...
}
中断线程。Java帮助文档中有这个方法 其他的方法都过时了
把代码贴一下,看看还有没有更好的解决方案。
wakeUpDoNottLazy,
stonefeng的回答,由于总分有限。
luochengor的方法没听过,我再看看如何实现。不过还是要感谢你。
我想询问一件事情 首先为什么会发生完成一半的时候停止线程的事情 如果是因为主线程执行结束之后想结束所有的线程我个人建议你用后台线程(setDeamon设置为true) 另外 强制中断线程的后果你最好弄清楚