1 . 早期Java提供java.lang.Thread类型包含了一些列的方法 start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。,Sun 公司的一篇文章 《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》
2 .使用 volatile 变量来设置Thread的run的循环条件,保证变量同步性
public class JavaTest extends Thread{
private volatile boolean isRun = true ;
public static void main(String[] args) {
JavaTest thread = new JavaTest();
thread.start();
thread.close();
}
@Override
public void run() {
while (isRun) {
}
}
public void close() {
this .isRun = false ;
}
}
3 .使用interrupt()来中止非运行状态的线程,如wait()和sleep()状态的线程,此时可利用interrupted来终止线程
public class JavaTest extends Thread{
private volatile boolean isRun = true ;
public static void main(String[] args) {
JavaTest thread = new JavaTest();
thread.start();
thread.close();
if (thread != null ) {
thread.interrupt();
}
}
@Override
public void run() {
while (isRun) {
try {
wait();
} catch (InterruptedException e) {
}
}
}
public void close() {
this .isRun = false ;
}
}
posted @
2013-12-09 12:01
brave-sailor
阅读(
372 )
评论()
编辑
收藏
举报