您的位置:首页 > 编程语言 > Java开发

JAVA线程之二:线程的调度及优先级

2010-04-19 15:04 267 查看
      与线程休眠类似,线程的优先级无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。

      如下的实例sss.java:

public class sss

{

      public static void main(String[] args)

      {

            Thread t1 = new MyThread1();

            Thread t2 = new Thread(new MyRunnable());

            t1.setPriority(10);

            t2.setPriority(1);

  

            t2.start();

            t1.start();

      }

}

class MyThread1 extends Thread

{

       public void run()

       {

             for(int i=0;i<10;i++)

             {

                   System.out.println("线程1第"+i+"次执行!");

                   try

                   {

                         Thread.sleep(100);

                    }catch(InterruptedException e)

                    {

                          e.printStackTrace();

                    }

              }

       }

}

class MyRunnable implements Runnable

{

       public void run()

       {

             for(int i=0;i<10;i++)

             {

                   System.out.println("线程2第"+i+"次执行!");

                   try

                   {

                         Thread.sleep(100);

                   }catch(InterruptedException e)

                   {

                          e.printStackTrace();

                    }

              }

        }

}

执行结果是:

线程1第0次执行!

线程2第0次执行!

线程2第1次执行!

线程1第1次执行!

线程2第2次执行!

线程1第2次执行!

线程1第3次执行!

线程2第3次执行!

线程2第4次执行!

线程1第4次执行!

线程1第5次执行!

线程2第5次执行!

线程1第6次执行!

线程2第6次执行!

线程1第7次执行!

线程2第7次执行!

线程1第8次执行!

线程2第8次执行!

线程1第9次执行!

线程2第9次执行!

      看出执行顺序跟优先级并不完全一致!

 

参考原文:http://lavasoft.blog.51cto.com/62575/221801
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java thread class string