Thread源码剖析

在写文章之前通读了一遍《Java 核心技术 卷一》的并发章节和《Java并发编程实战》前面的部分,回顾了一下以前写过的笔记。从今天开始进入多线程的知识点咯~

我其实也是相当于从零开始学多线程的,如果文章有错的地方还请大家多多包含,不吝在评论区下指正呢~~

一、Thread线程类API

声明本文使用的是JDK1.8

实现多线程从本质上都是由Thread类来进行操作的~我们来看看Thread类一些重要的知识点。Thread这个类很大,不可能整个把它看下来,只能看一些常见的、重要的方法

顶部注释的我们已经解析过了,如果不知道的同学可前往:

1.1设置线程名

我们在使用多线程的时候,想要查看线程名是很简单的,调用Thread.currentThread().getName()即可。

如果没有做什么的设置,我们会发现线程的名字是这样子的:主线程叫做main,其他线程是Thread-x

下面我就带着大家来看看它是怎么命名的:

Thread源码剖析

nextThreadNum()的方法实现是这样的:

Thread源码剖析

基于这么一个变量-->线程初始化的数量

Thread源码剖析

点进去看到init方法就可以确定了:

Thread源码剖析

看到这里,如果我们想要为线程起个名字,那也是很简单的。Thread给我们提供了构造方法

Thread源码剖析

下面我们来测试一下:

实现了Runnable的方式来实现多线程:

public class MyThread implements Runnable { @Override public void run() { // 打印出当前线程的名字 System.out.println(Thread.currentThread().getName()); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwydfy.html