JavaSE:线程的创建
1. Thread类的概念
<1> java.lang.Thread类代表线程,任何线程对象,都是Thread类(子类)的实例。
<2> Thread类是线程的模板,封装了复杂的线程开启等操作,封装了操作系统的差异性
2. 线程的创建方式
<1>自定义类,继承Thread类,并重写run方法,然后创建该类的对象,调用start方法
<2>自定义类,实现Runnable接口,并重写run方法,创建该类的对象作为实参,来构造Thread类型的对象,
然后使用Thread类型的对象,调用start方法
3. 相关的方法
| 方法声明 | 功能介绍 |
| Thread() | 使用无参的方式,构造对象 |
| Thread(String name) | 根据参数指定的名称,来构造对象 |
| Thread(Runnable target) |
根据参数指定的引用来构造对象,其中Runnable是个接口类型 |
| Thread(Runnable target,String name) |
根据参数指定引用和名称,来构造对象 |
| void run() |
若使用Runnable引用构造了线程对象,调用该方法时,最终调用接口中的版本 若没有使用Runnable引用构造线程对象,调用该方法时,则什么也不做 |
| void start() |
用于启动线程,Java虚拟机会自动调用,该线程的run方法
|
4. 代码示例 1
1 class ThreadTest{
2 main(){
3
4 // 1. 使用无参方式,构造Thread类型的对象
5 // 由源码可知:Thread类中的成员变量target的数值,为null
6 Thread t1 = new Thread();
7
8 // 2. 调用run方法进行测试
9 // 由源码可知:由于成员变量target的数值为null,
10 // 因此 if (target != null) 不成立, 跳过{}中的代码不执行
11 // 而run方法中,除了上述代码,再无其它代码,因此证明,run方法确实"啥也不干"
12 t1.run();
13
14 // 3. 打印一句话
15 System.out.println("我想看看你到底是否真的啥也不干!");
16 }
17 }

![JavaSE:线程的创建
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706705044-78d5053bb5a13e8.jpg)
