一、线程创建
1.1 继承Thread
public class Demo extends Thread {
@Override
public void run() {
System.out.println("线程执行");
}
}
1.2 实现 Runnable
public class Demo implements Runnable{
@Override
public void run() {
System.out.println("线程执行");
}
}
1.3 实现 Callable
public class Demo implements Callable {
@Override
public Object call() throws Exception {
System.out.println("线程执行");
return 0;
}
}
二、线程状态
- NEW 创建
- RUNNABLE 运行
- BLOCKED 堵塞
- WAITING 等待
- TIMED_WAITING 具有指定等待时间的等待线程的线程状态
- TERMINATED 线程终止或完成
三、线程的常用api
- Thread.start() 运行线程
- Thread.sleep() 休息时间,自动唤醒
- Thread.wait() 线程等待
- Thread.notify() & notifyAll() 随机唤醒一个线程 & 全部唤醒
- Thread.interrupt() 中断线程
- Thread.isInterrupted() 判断是否是终端线程
- Thread.join() 往线程里面加塞一个线程。(类似插队)
- Thread.setDaemon() 设置是否为守护线程。(跟随主线程的执行而执行,主线程停止,守护线程也会停止)
网友评论