java后台进程和线程优先级

  1. 后台线程:处于后台运行,任务是为其他线程提供服务。也称为”守护线程”或”精灵线程”。JVM的垃圾回收就是典型的后台线程。
    特点:若所有的前台线程都死亡,后台线程自动死亡。
    设置后台线程:Thread对象setDaemon(true);
    setDaemon(true)必须在start()调用前。否则出现IllegalThreadStateException异常;
    前台线程创建的线程默认是前台线程;
    判断是否是后台线程:使用Thread对象的isDaemon()方法;

并且当且仅当创建线程是后台线程时,新线程才是后台线程。

例子:

class Daemon implements Runnable{

public void run() {
for (int i = 0; i < 200; i++) {
System.out.println(“Daemon –>” + i);
}
}

}

public class DaemonDemo {
public static void main(String[] args) {
/*Thread cThread = Thread.currentThread();
System.out.println(cThread.isAlive());

//cThread.setDaemon(true);
System.out.println(cThread.isDaemon());*/

Thread t = new Thread(new Daemon());

System.out.println(t.isDaemon());
for (int i = 0; i < 10; i++) {

System.out.println(“main–” + i);
if(i == 5){
t.setDaemon(true);
t.start();
}
}
}
}

2,线程的优先级:

每个线程都有优先级,优先级的高低只和线程获得执行机会的次数多少有关。
并非线程优先级越高的就一定先执行,哪个线程的先运行取决于CPU的调度;
默认情况下main线程具有普通的优先级,而它创建的线程也具有普通优先级。
Thread对象的setPriority(int x)和getPriority()来设置和获得优先级。
MAX_PRIORITY :值是10
MIN_PRIORITY :值是1
NORM_PRIORITY :值是5(主方法默认优先级)

注意:每个线程默认的优先级都与创建他的父线程的优先级相同,在在默认的情况下,

main线程具有普通优先级,由main线程创建的子线程也具有普通优先级

例子:

class Priority implements Runnable{

public void run() {

for (int i = 0; i < 200; i++) {
System.out.println(“Priority– ” + i);
}
}

}

public class PriorityDemo {
public static void main(String[] args) {

/
* 线程的优先级在[1,10]之间
/
Thread.currentThread().setPriority(3);
System.out.println(“main= ” + Thread.currentThread().getPriority());
/

* public final static int MIN_PRIORITY = 1;
* public final static int NORM_PRIORITY = 5;
* public final static int MAX_PRIORITY = 10;
* */
System.out.println(Thread.MAX_PRIORITY);

//===============================================

Thread t = new Thread(new Priority());
for (int i = 0; i < 200; i++) {
System.out.println(“main” + i);
if(i == 50){
t.start();
t.setPriority(10);
}
System.out.println(“————————-“+t.getPriority());
}
}
}

Original: https://www.cnblogs.com/suncoolcat/p/3424262.html
Author: 新一
Title: java后台进程和线程优先级

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/538142/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Spring Cloud认知学习(三):声明式调用Feign的使用

    Feign 使用示例 1.导入依赖: 2.新建Feign Interface 3.创建服务消费者 4.测试 补充: 💡上一篇介绍微服务构建起来后,使用Ribbon来解决多个服务的负…

    Java 2023年5月30日
    086
  • 使用LS2J技术在LotusScript中使用Java

    首先需要在代理的 (Options)部分,添加如下: Uselsx “*javacon” 2.我们自己写一个java的script库,其中包含一个Java类…

    Java 2023年5月29日
    072
  • CentOS 7上重新编译安装nginx

    CentOS 7的源所提供的nginx几乎不包含任何扩展模块;为了能够使用一些扩展模块,我们需要从源代码重新编译安装nginx。 目前最新版的源代码是1.6.1。下载解压后先不要急…

    Java 2023年5月30日
    079
  • 基于Java的显式配置

    我们知道基于XML的显式配置就是采用XML描述Bean的创建信息,告诉Spring容器具体需要创建哪些Bean。自然而然的,基于Java的显式配置则是采用Java这种编程语言描述B…

    Java 2023年6月5日
    091
  • 坑爹的大页内存

    内存是计算机中的珍贵的稀有资源,所以为了精细管理,内存管理非常复杂的,一台计算机会同时运行很多应用,为了防止这些应用程序争抢内存,内存的管理是通过操作系统来管理的,操作系统为了方便…

    Java 2023年5月30日
    086
  • 5.0.SpringBoot整合Kafka(工具安装ZK)

    我们在使用Kafka的时候,是依赖于zookeeper的,所以我们先安装好工具在去集成,这样之后也能直接跑起来。 我是Windows系统所以直接安装Win版本的zk和Kafka(M…

    Java 2023年6月9日
    077
  • 继承、封装、多态的实现原理

    欢迎来到Java学习之继承、封装、多态的实现原理 目录 从JVM结构开始谈多态 JVM 的结构 Java 的方法调用方式 常量池(constant pool) 图 2. 常量池各表…

    Java 2023年6月7日
    086
  • Spring 5 源码解析-概述-1

    源地址 本篇文章基于spring-framework Release v5.3.5(7c2a72c) 版本进行源码分析。 官方源码地址: https://github.com/sp…

    Java 2023年6月6日
    0100
  • 经典实验–飞机大战小游戏

    ·一、需求设计 1.为检测C语言的学习成果,根据所学的C语言知识,设计程序:飞机大战小游戏; 2.自行定义变量,函数或结构体,编写源代码并进行编译运行测试; 3.根据编写的代码,自…

    Java 2023年6月15日
    059
  • Java集合

    1. 2. 3. You can do anything you set your mind to, man! Original: https://www.cnblogs.com/…

    Java 2023年5月29日
    063
  • 显示listview的行号

    想用的时候,总忘记了怎么拼,做个记录,下次该不会忘记了. Original: https://www.cnblogs.com/Blackie/archive/2008/08/02/…

    Java 2023年6月14日
    083
  • 代码生成器

    Mybatis Generator 使用xml配置文件形式自动生成 只生成实体类、mapper接口及mapper.xml。并且包含丰富的内容 首先添加mybatis依赖和相关插件 …

    Java 2023年6月13日
    094
  • JVM垃圾回收篇

    点赞再看,养成习惯,微信搜索「 小大白日志」关注这个搬砖人。 文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。 基础概念 GC=jvm垃圾回收,垃圾回收机制是由垃…

    Java 2023年6月8日
    080
  • GateWay

    即满足某种规则之后即向指定路径路由,否则应为404。 #参数合并写法 spring: cloud: gateway: routes: – id: after_route #路由规则…

    Java 2023年6月16日
    0108
  • org.springframework.web.client.HttpClientErrorException: 429 Too Many Requests

    用户在在指定的时间里发送了太多的请求。用于限制速率。属于客户端异常,既客户端没有遵守服务端给定的一定频率内的限制访问次数。 一般而言,当服务端检测到客户端在短时间内频繁的尝试访问特…

    Java 2023年5月30日
    0105
  • PicGo图床设置

    PicGo图床设置 介绍 PicGo是一款开源的图床管理工具,是可以快速的上传图片并且获得图片的URL链接的工具。目前支持Windows和macOS平台,可以方便的进行拖拽、复制粘…

    Java 2023年6月15日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球