1.线程的创建与启动
扩展java.lang.Thread
实现Runnable
2.线程的转换状态
新建状态
就绪状态
运行状态
阻塞状态(位于等待池中的阻塞状态wait(),位于锁池中的阻塞状态,调用其他线程的json(),IO操作,sleep())
死亡状态
3.线程调度(抢占式调度模型)
调整优先级-setPriority()
线程睡眠-sleep():让给其他任意线程,转到阻塞状态
线程让步-yield():让给其他优先级高的线程,转到就绪状态
等待其他线程结束-join()
4.后台线程
当前台线程运行结束后,后台线程也会被终止
设置方式-setDaemon(true)
5.定时器
Timer timer = new Timer(true);
TimerTask task = new TimerTask(){
public viod run(){
//实现
}
};
timer.schedule(task,10,50);
6.线程的同步
线程通信
死锁
7.concurrent包
ReentrantLock()-外部锁
Condition()-线程通信
Callable(),Future()-异步计算处理
Executor()-线程池
BlockingQueue()-阻塞队列