//我们的线程没有设置优先级,肯定有默认优先级。
// 那么,默认优先级是多少呢?
// 如何获取线程对象的忧先级?
//public final int getPriority() :返回线程对象的优先级
// 如何设置线程对象的忧先级呢?
//public final void setPriority(int newPriority) :更改线程的优先级。
// 注意:
// 线程默认优先级是5.
// 线程优先级的范围是: 1- 10.
// 线程优先级高仅仅表示线程获取的CPU时间片的几率高,但是要在次数比较多,或者多次运行的时候才能看到比较好的效果。
// IllegalArgumentException :非法参数异常。
// 抛出的异常表明向方法传递了一个不合法或不正确的参数。
这个是继承了线程的类:
package threadstudy_02;
//如何获取线程对象的名称呢?
//public final String getName () :获取线程的名称。
// 如何设置线程对象的名称呢?
//public final void setName (String name) :设置线程的名称
public class MyThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 2000; i++) {
System.out.println(getName()+":"+i);
}
}
}
主方法:
package threadstudy_02;
//我们的线程没有设置优先级,肯定有默认优先级。
// 那么,默认优先级是多少呢?
// 如何获取线程对象的忧先级?
//public final int getPriority() :返回线程对象的优先级
// 如何设置线程对象的忧先级呢?
//public final void setPriority(int newPriority) :更改线程的优先级。
// 注意:
// 线程默认优先级是5.
// 线程优先级的范围是: 1- 10.
// 线程优先级高仅仅表示线程获取的CPU时间片的几率高,但是要在次数比较多,或者多次运行的时候才能看到比较好的效果。
// IllegalArgumentException :非法参数异常。
// 抛出的异常表明向方法传递了-一个不合法或不正确的参数。
public class ThreadDemo {
public static void main(String[] args) {
MyThread m1 =new MyThread();
MyThread m2 =new MyThread();
MyThread m3 =new MyThread();
//System.out.println(m1.getPriority());//返回线程优先级 默认是5
//System.out.println(m2.getPriority());
//System.out.println(m3.getPriority());
m1.setName("zsp");//这里为了看起来更直观,我给进程取了名字
m2.setName("wlx");
m3.setName("lvl");
m1.setPriority(1);
m2.setPriority(10);
m1.start();
m2.start();
m3.start();
}
}