读书人

线程学习【9】线程的优先级、yield

发布时间: 2013-03-22 09:49:50 作者: rapoo

线程学习【九】线程的优先级、yield
调用线程的 toString 方法打印如下:
左边为线程名; 中间为线程的优先级(默认为5) 右边为线程所属的组。
[img]

[/img]


package com.zzl.thread;/** * 线程的优先级越高,抢占到cpu执行权的几率就越大 * Thread.MAX_PRIORITY = 10 * Thread.MIN_PRIORITY = 1 * Thread.NORM_PRIORITY = 5 *  * Thread.yield();   哪个线程读到 yield()的时候会释放执行权,减少线程执行的频率,达到平均执行效果。 *  */class JoinRunnable implements Runnable{@Overridepublic void run() {for(int i = 0;i < 10;i++){System.out.println(Thread.currentThread().toString()+"......."+i);//当线程这行到这里的时候,会释放执行权,达到线程交互执行的效果。Thread.yield();}}}public class MyThreadDemo {public static void main(String[] args) {JoinRunnable r =new JoinRunnable();Thread t1 = new Thread(r);Thread t2 = new Thread(r);t1.start();//将t1线程的优先级设置为最高   即为:10t1.setPriority(Thread.NORM_PRIORITY);t2.start();}}

读书人网 >编程

热点推荐