1、线程的优先级 1-10
public class PriorityTest {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getPriority());
MyPriority mp = new MyPriority();
Thread t1 = new Thread(mp,"adidas");
Thread t2 = new Thread(mp,"nike");
Thread t3 = new Thread(mp,"hui li ");
Thread t4 = new Thread(mp,"李宁");
Thread t5 = new Thread(mp,"puma");
Thread t6 = new Thread(mp,"安踏");
//设置优先级 在启动前
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.MAX_PRIORITY);
t3.setPriority(Thread.MAX_PRIORITY);
t4.setPriority(Thread.MIN_PRIORITY);
t5.setPriority(Thread.MIN_PRIORITY);
t6.setPriority(Thread.MIN_PRIORITY);
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
}
}
class MyPriority implements Runnable{
@Override
public void run() {
Thread.yield();
System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
}
}
2、守护线程
守护线程:是为用户线程服务的 jvm停止不用等待守护线程执行完毕
- 默认:用户线程 jvm等待用户线程 执行完毕 才会停止
/**
* 守护线程:是为用户线程服务的 jvm停止不用等待守护线程执行完毕
* 默认:用户线程 jvm等待用户线程 执行完毕 才会停止
* @author AnQi
* @date 2020/3/7 10 43:08
* @description
*/
public class DaemonTest {
public static void main(String[] args) {
God god =new God();
You you = new You();
Thread t1= new Thread(god);
t1.setDaemon(true); //将用户线程调整为守护线程
t1.start();
new Thread(you).start();
}
}
class You extends Thread{
@Override
public void run() {
for (int i = 1;i<=365*100;i++){
System.out.println("happy life ....");
}
System.out.println("gg...");
}
}
class God extends Thread{
@Override
public void run() {
for (int i = 1;i<=365*10000;i++){
System.out.println("bless you ....");
}
}
}