线程的调度
线程休眠(sleep)
- 线程调度是java多线程的核心,只有良好的调度,才能充分发挥系统性能,提高程序执行效率。
- 程序员只能最大程度的影响线程执行的次序(cpu调度线程的可能性),并不能精准控制.
- 线程休眠是线程让出cpu最简单的做法之一,线程随后进入阻塞状态,直至苏醒,然后进入到可执行状态等待cpu调度.
- 那个线程调用该方法,就休眠那个线程.
优先级(setPriority)
- 也是在一定程度上影响cpu调度线程的概率。
- 可取值为1-10,默认值是5,值越大cpu调度到底可能性越大,优先级低的并非没机会执行
- 在一个线程中开启另一个线程,子线程的优先级同父线程相同。
礼让(yield)
- 让出cpu资源,静态方法,作用是暂停当前运行的线程,并执行其他线程。
合并(join)
- 线程插队,正在运行的线程必须等到插队的线程执行完毕才能重新运行
- 三个重载方法,二个有时间,一个没有。
守护线程(setDaemon)
- 后台执行的线程