1.线程的状态
new Thread():线程被创建
线程可运行状态,抢到cpu才是真正的运行状态
运行过程中cpu被抢/sleep()/wait()—-阻塞
结束—-线程自动运行完/推荐:标志位
2.线程的常用方法
sleep():线程休眠(让出cpu,不让出锁)
interrupt():打断线程的sleep()/wait()…
join():等待线程终止
yield():暂停线程
setPriority():设置线程的优先级别
setName():设置名
isAlive():测试线程是否处于活动状态
package thread;
/*
* 抛出InterruptedException异常
* 线程1:sleep()
* 线程2:打扰线程1
*/
public class Thread_4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread1 t1 = new MyThread1();
MyThread2 t2 = new MyThread2(t1);
t1.start();
t2.start();
}
}
class MyThread1 extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
System.out.println("被打扰了");
e.printStackTrace();
}
}
}
class MyThread2 extends Thread{
private MyThread1 t1;
public MyThread2(MyThread1 t1){
super();
this.t1 = t1;
}
@Override
public void run() {
System.out.println("线程中断");
t1.interrupt();
}
}