public class Priority { |
|
static class MyThread extends Thread{ |
private int ID = 0 ; |
public MyThread( int id){ |
this .ID = id; |
} |
public void run(){ |
System.out.println( "MyThread-" + this .ID + |
" begin! Priority: " + this .getPriority()); |
System.out.println( "MyThread-" + this .ID + " end!" ); |
} |
} |
public static void main(String[] args) { |
//建立3个优先级不同的线程 |
MyThread[] myThreads = new MyThread[ 3 ]; |
for ( int i= 0 ; i< 3 ; i++){ |
myThreads[i] = new MyThread(i+ 1 ); |
//三个线程的优先级分别是1,4,7 |
myThreads[i].setPriority(i* 3 + 1 ); |
} |
//按优先级从低到高启动线程 |
for ( int i= 0 ; i< 3 ; i++){ |
myThreads[i].start(); |
} |
//先启动的线程不一定先运行,虚拟机会考虑线程的优先级,同等情况下,优先级高的线程先运行 |
} |
} |