多线程
一、设置和获取线程名称
1.方法
- void setName(String name):将此线程的名称更改为name
- String getName():返回线程的名称
- 通过构造方法也可以修改线程名称
2.获取main方法的线程名称
利用public static Thread currentThread()方法,该方法返回对当前正在执行的线程对象的引用,然后调用getName()方法即可获取线程的名称。
二、线程优先级
1.两种线程调度模型
- 分时调度模型:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间片
- 抢占式调度模型:优先让优先级高的线程使用CPU,如果线程的优先级相同,则随机让一个线程使用CPU,优先级高的线程获取的CPU时间片相对较多一点。.
注意:Java采用的是抢占式调度模型;多线程的程序执行具有随机性
2.Thread类中的设置和获取线程优先级的方法
- public final int getPriority():返回此线程的优先级
- public final void setPriority(int newPriority):更改此线程的优先级
注意:线程优先级的范围是1-10,默认为5;线程优先级高仅代表获取CPU时间的概率高