首页 > 其他分享 >线程休眠、线程优先级、守护线程

线程休眠、线程优先级、守护线程

时间:2023-03-12 19:00:09浏览次数:39  
标签:优先级 Thread t1 休眠 线程 public 守护

public class ThreadDemo {

    // 线程调度分为两种:分时调度模型和抢占式调度模型
    // 分时调度模型:所以线程轮流使用cpu,平均分配每个线程使用cpu的时间
    // 抢占式调度模型:让优先级高的线程使用cup,如果优先级相同,随机选择一个线程
    // Java是抢占式调度模型,setPriority(10)是设置线程优先级的方法,参数1-10,不设置默认是5,优先级只是抢到cpu的概率更高一点,并不是百分比优先

    // setDaemon(true),线程守护方法,把第二个线程设置为守护线程当普通线程执行完毕后,守护线程也就没有继续执行的必要了
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        MyThread t = new MyThread();
        t.setPriority(10);
        t.start();

        MyRunnable r = new MyRunnable();
        Thread t1 = new Thread(r);
        t1.setPriority(1);
        t1.setDaemon(true);
        t1.start();
    }
}

public class MyThread extends Thread {
    // Thread.sleep(1000)方法是让线程休眠1000毫秒
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(getName() + i);
        }
    }
}

 

标签:优先级,Thread,t1,休眠,线程,public,守护
From: https://www.cnblogs.com/weiduaini/p/17208765.html

相关文章

  • Java中的线程状态
    Java中线程的状态New:新创建对象,还没执行start()方法RUNNABLE:就绪态和运行状态。BLOCKED:表示线程等到获取锁时候的状态。WAITING:处于这种状态的线程不会被分配CPU执行......
  • java线程池使用小技巧:自定义拒绝策略
    java线程池默认提供了几种拒绝策略:这几个策略都实现了RejectedExecutionHandler,拿DiscardOldestPolicy来说,查看源码:核心代码只有2行:e.getQueue().poll()从列表里弹......
  • 线程死锁问题以及递归锁解法
    fromthreadingimportThread,Lock,RLockimporttimemutexA=Lock()muteXB=Lock()'''#将上述的mutexA=Lock()mutexB=Lock()#换成mutexA=mutexB=RLoc......
  • Jmeter右上角不显示线程数和运行时间
    问题:Jmeter右上角不显示线程数和运行时间问题发生原因在GUI界面去修改的语言这样就会出现这样的bug解决恢复原设置后去Jmeter的bin目录,找到jmeter.properties,把la......
  • 多线程实现方式2:实现Runnable接口
    publicclassMyRunnableimplementsRunnable{@Overridepublicvoidrun(){for(inti=0;i<100;i++){System.out.println("ru......
  • 系统架构设计师考试知识点整理-4:死锁问题、银行家算法、管程与线程
    死锁问题1.死锁是指多个进程之间相互等待对方的资源,而在得到对方资源之前又不释放自己的资源所造成的循环等待的现象。2.死锁产生的根本原因在于系统提供的资源少于并发进程......
  • Java 基础 - 线程的全部方法,线程池的使用
    1.线程的全部方法静态方法:staticThreadcurrentThread():返回当前线程staticvoidyield():把当前线程的执行权让给优先级更高或相对的线程staticvoidsleep(longmill......
  • 线程六种状态
    线程六种状态 1.new状态线程创建,还没有执行2.runnable状态线程正常执行3.teminated状态线程终止4.block状态阻塞状态,例如等待锁释放5.timed_waiting状态有时......
  • Java基础之并发——线程的生命周期和状态
    Java线程在运行的生命周期中的指定时刻只可能处于下面6种不同状态的其中一个状态:NEW:初始状态,线程被创建出来但没有被调用start()。RUNNABLE:运行状态,线程被调用......
  • 实际线程数量大于maximumPoolSize
    在做练习的时候出现了下面的状况注:只是自己的推理哈,如果后面学会了看源码再补充和修改首先复习两个知识:临时线程什么时候创建?新任务提交时,发现核心线程都在忙、任......