目录
前言
如何简单的去使用jconsloe 查看线程 (多线程编程篇1)_如何查看weblogic当前线程-优快云博客
距离笔者发布本系列第一篇博客已过去一月有余,本篇博客,笔者将继续介绍已经整理学习好的内容
既帮助未来的自己复习,也为正在阅读的你提供参考和思考.
本篇博客的内容正如标题所示,笔者主要将介绍一下内容
1.Thread类,并通过举例演示常见方法
2.向大家介绍线程的状态.
愿我们一起进步!
1.Thread类及常见方法
首先,需要说明的是,相比于多进程编程,多线程编程能够更有效地利用多核CPU资源。
线程作为进程中的执行单元,它们共享进程的内存空间,因此在创建、调度和销毁时所消耗的资源远少于进程。由于线程之间的开销较小,因此在多个线程之间的调度和切换效率较高。
Thread类中常见的属性
如何简单的去使用jconsloe 查看线程 (多线程编程篇1)_如何查看weblogic当前线程-优快云博客
1. getId()
-
功能:获取线程的唯一标识符(ID),和PID类似。每个线程都有一个唯一的 ID,它是一个正整数。这个ID是JAVA给分配的,不是系统API提供的,更不是PCB中的ID.
-
用途:可以用来标识不同的线程。
2. getName()
-
功能:获取线程的名称。每个线程都有一个名字,默认是
Thread-0、Thread-1等,当然也可以通过构造方法手动设置线程名称。 -
用途:帮助开发者区分不同的线程
3. getState()
-
功能:获取线程的状态,返回一个
Thread.State枚举值。 -
用途:用于查看线程的当前状态
4. getPriority()
-
功能:获取线程的优先级。
-
用途:用于控制线程的调度顺序,优先级高的线程会比优先级低的线程更早得到 CPU 时间。
5. isDaemon()
-
功能:检查线程是否为守护线程(也可以叫做后台线程)(Daemon thread)。守护线程是辅助性线程,在所有非守护线程结束后会自动退出。
-
用途:判断线程是否为后台线程。守护线程一般用于系统服务或后台任务,如垃圾回收线程。
一般情况下,我们会默认一个线程为前台线程,一个JAVA进程中,如果前台线程没有执行结束,那么整个进程是一定不会结束的,但是后台进程是否结束了,不会影响整个进程的进行
举一个简单的例子 :
public class Demo2
{
public static void main(String[] args) {
Thread y = new Thread(() -> {
while (true) {
System.out.println("Test");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}, "线程一"); // lambda 表达式写法
y.setDaemon(true); // 设置为后台线程
y.start(); // 启动线程
}
}
如果在这里设置成后台线程,那么运行结果如下
进程已结束,退出代码0
或者
Test
进程已结束,退出代码0

最低0.47元/天 解锁文章
2051

被折叠的 条评论
为什么被折叠?



