线程调度方式
线程调度是指系统为线程分配CPU使用权的过程,有两种方式,java为抢占式线程调度
抢占式线程调度
协同式线程调度
线程创建方式
官方说有两种:一种是派生Thread,一种实现Runnable 方式;但本质就是一种new Thread();方式
也有说:继承Thread,实现Runnable ,实现Callable,以及线程池方式,总共四种
其中callable本质是转换Runnable 的方式,线程池方式说到底不是创建,而是池化技术,避免反复创建
所以,以官方说法为主:两种创建线程的方式
线程中断:interrupt()
syart()方法被调用两次会抛出异常
线程的生命周期
初始
运行
阻塞
等待
超时等待
终止
进程之间的通讯机制
管道
信号
消息队列
共享内存
信号量
套字接
管道
T1,T2,T3三个线程依次执行方案
join()。T3想要T2执行完再执行,需要T3线程调用T2的jion()方法【join的含义就是把T1线程加到T2线程执行的代码中去,把T1的代码执行完,T2剩下的代码才能执行】
synchorized内置锁
Volatile
方法和锁