1.继承Thread类
public class NewThread extends Thread {
@Override
public void run() {
super.run();
}
}
2.实现Runnable接口
public class NewThread implements Runnable {
@Override
public void run() {
}
}
注:Thread才是Java里对线程的唯一抽象,Runnable只是对任务(业务逻辑)的抽象
Thread可以接受任意一个Runnable的实例并执行 new Thread(runable);
线程start()不能重复调用!!! run()可以重复执行也可以单独执行
中断线程 不要使用stop() 使用协作式的三个方法
1、interrupt() 只是给线程一个中断标志
2、isInterrupted() 查看线程是否中断的状态 不清除中断状态
3、interrupted() 判断线程中断状态 并且改变中断状态