三、线程的调度

一、多个线程处于可运行状态,只有一个线程处于实际运行状态,就要用到线程调度。

二、优先级:反应线程的重要或紧急程度;线程的优先级用1-10表示,10的优先级最高,默认值是5。优先级越高,执行机会越高。

三、更改优先级:setPriority(int  grade);  myThread.setPriority(3);

四、线程调度方法:

join():将指定的线程加入到当前线程,就是插队

sleep(): 将当前的线程阻塞指定的毫秒数,是Thread类的一个静态方法。

五、join实例:

public  class MyThread  extends Thread()  {

       public  void  run()  {

               for ( int  i = 1; i <= 5;  i++) {

                      System.out.println( this.getName() + " + " +i );

               }

        }

}

main() {

          //当i=5时,让另一个线程开始运行

             for ( int  i = 1; i <= 10 ;  i++) {

                      if ( i == 5) {

                             MyThread  thread  = new  MyThread () ;

                              thread.start();

                              //让main阻塞

                              thread.join();//此时需要捕捉一下异常,太长了,在这里就不写了

                      }

//Thread.currentThread()代表当前线程,当前线程就是main

                      System.out.println( Thread.currentThread().getName() + " + " +i );

               }

}

六、sleep实例:让当前线程阻塞一段时间

main() {

         System.out.println( " wait " );

         //五秒之后输出

         Thread.sleep( 5000 );//有异常,需要捕捉

System.out.println( " continue " );

}

你可能感兴趣的:(三、线程的调度)