线程调度是Java多线程的核心,只有好的调度,才能充分发挥系统的性能,提高程序的执行效率。

一、休眠

  休眠的目的是使线程让出CPU的最简单做法,线程休眠的时候,会将CPU交给其他线程,以便轮换执行,休眠一定时间后,线程会苏醒,进入准备状态等待执行。线程的休眠方法是Thread.sleep(long millis)和Thread.sleep(long millis,int nanos),均为静态方法,调用sleep休眠的哪个线程呢?哪个线程调用sleep,哪个线程休眠。例子:

  线程1休眠后,让出CPU,线程2执行,线程2执行完后,线程2休眠,让出CPU供线程1执行,(此时线程1已经休眠结束,在等待状态),如此循环执行,直到结束。

  SleepTest.java

 1 package Thread;
 2 
 3 public class SleepTest {
 4     public static void main(String[] args){
 5         Thread t1=new MyThread_1();
 6         Thread t2=new Thread(new MyRunnable1());
 7         t1.start();
 8         t2.start();
 9     }
10 }
11 class MyThread_1 extends Thread{
12     public void run(){
13         for(int i=0;i<3;i++){
14             System.out.println("线程1第"+i+"次执行!");
15             try{
16                 Thread.sleep(500);//影响的是执行速度。
17             }catch(InterruptedException e){
18                 e.printStackTrace();
19             }
20         }
21     }
22 }
23 class MyRunnable1 implements Runnable{
24     public void run(){
25         for(int i=0;i<3;i++){
26             System.out.println("线程2第"+i+"次执行!");
27             try{
28                 Thread.sleep(500);
29             }catch(InterruptedException e){
30                 e.printStackTrace();
31             }
32         }
33     }
34 }
View Code

相关文章:

  • 2021-07-02
  • 2021-12-07
  • 2021-10-17
  • 2022-01-22
  • 2021-08-25
  • 2021-08-14
猜你喜欢
  • 2022-03-05
  • 2022-12-23
  • 2021-07-14
  • 2021-06-07
  • 2022-12-23
  • 2021-11-11
相关资源
相似解决方案