模拟看病

本文通过一个具体的Java代码示例,展示了如何设置线程的优先级,并观察高优先级线程(VIP病人线程)在运行时是否优先于普通线程(普通病人线程)。代码中创建了一个名为VIP的线程,该线程的优先级被设置为最大值,与之对比的是在主线程中模拟的普通病人线程。通过比较两个线程的输出,可以直观地看到线程优先级对线程调度的影响。

package cn.DoctorVip;

public class VipThread implements Runnable{
    
    

    @Override
    public void run() {
        for(int i = 0;i < 10;i++) {
            Thread.currentThread().setName("VIP");
            String name = Thread.currentThread().getName();
            System.out.println(name+(i+1)+"正在看病");
            
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            
        }
        
    }

}
线程类
package cn.DoctorVip;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        VipThread vt = new VipThread();
        Thread vip = new Thread(vt,"VIP");
        vip.setPriority(10);
        vip.start();
        for(int i = 0;i <50;i++) {
            if(i ==10) {
                
                try {
                    vip.join();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            Thread.currentThread().setName("普通病人");
            String name = Thread.currentThread().getName();
            System.out.println(name+(i+1)+"正在看病");
            Thread.sleep(500);
        }
        
    }
}

 

转载于:https://www.cnblogs.com/lev1/p/11305860.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值