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

Java线程:线程的调度-优先级

2009-11-30 21:30 267 查看
与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。

线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。

在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。

/**

* Java线程:线程的调度-优先级

*

* @author leizhimin 2009-11-4 9:02:40

*/

public
class
Test {

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次执行!

Process finished with exit code 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: