线程礼让(yield):礼让线程,让当前正在执行的线程暂停,但是不阻塞;让线程从运行状态转为就绪状态;让CPU重新调度,礼让不一定成功
合并线程(join):待此线程执行完毕后,再执行其他线程,其他线程阻塞,可以理解为插队
线程状态观测(Thread.State):线程可以处于以下状态之一,1.NEW,尚未启动的线程处于此状态;2.RUNNABLE,在Java虚拟机中执行的线程处于此状态;3.BLOCKED,被阻塞等待监视器锁定的线程处于此状态;4.WAITING,正在等待另一个线程执行特定动作的线程处于此状态;5.TIMED_WAITING,正在等待另一个线程执行动作达到指定等待时间的线程处于此状态;6.TERMINATED,已退出的线程处于此状态
线程一旦死亡就不能再重新启动
Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行;线程的优先级用数字表示,范围从1到10;使用setPriority(int x),改变优先级,getPriority(),获取优先级;优先级最高是10
优先级的设定建议在start()调度前,优先级低只是意味着获得调度的概率低,并不是优先级低就不会被调用,都看CPU的调度
明天学习守护线程,线程同步机制,三大不安全案例