多线程中,多个线程争抢CUP,如果想要特定的线程优先使用CUP,可以用join
案例:普通用户和特殊用户排队,优先为特殊用户服务。
代码如下:
package GGS2;
public class Svip {
public static void main(String[] args) {
Normal normal = new Normal();
normal.start();
}
}
class Normal extends Thread {
public void run() {
System.out.println("普通用户正在排队");
System.out.println("此时来一个Svip");
System.out.println("优先为Svip服务");
Special Svip = new Special();
Svip.start();
try {
Svip.join();
} catch (InterruptedException e) {
// TODO: handle exception
e.printStackTrace();
}
System.out.println("恢复对普通用户服务");
}
}
class Special extends Thread {
public void run() {
System.out.println("为Svip服务倒计时:");
for (int i = 10; i >= 1; i--) {
System.out.println(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO: handle exception
}
}
System.out.println("为Svip服务结束");
}
}
代码运行如下: