java线程的调度.
线程的调度
线程调度器来监控程序中启动后进入就绪状态的所有线程
线程调度器按照线程的优先级决定调度哪些线程来执行
线程调度器按线程优先级高低选择高优先级线程(进入运行中状态)执行,同时线程调度是抢先式调度,即如果在当前线程执行过程中,一个更高优先级的线程进入可运行状态,则这个线程立即被调度执行
下面几种情况下,当前线程会放弃CPU:
线程调用了yield()或sleep()方法主动放弃
由于当前线程进行I/O访问、外存读写,等待用户输入等操作,导致线程阻塞;
为等候一个条件变量,以及线程调用wait()方法
抢先式系统下,由于高优先级的线程参与调度
时间片方式下,当前时间片用完,由同优先级的线程参与调度.