<JavaEE> 线程的五种创建方法 和 查看线程的两种方式

目录

一、线程的创建方法

1.1 继承 Thread -> 重写 run 方法

1.2 使用匿名内部类 -> 继承 Thread -> 重写 run 方法

1.3 实现 Runnable 接口 -> 重写 run 方法

1.4 使用匿名内部类 -> 实现 Runnable 接口 -> 重写 run 方法

1.5 使用 lambda 表达式

二、查看线程的方法

2.1 jconsole 工具

2.2 IDEA Debug 调试器


一、线程的创建方法

以下分别介绍五种线程的创建方法

1 继承 Thread -> 重写 run 方法
2 使用匿名内部类 -> 继承 Thread -> 重写 run 方法
3 实现 Runnable 接口 -> 重写 run 方法
4 使用匿名内部类 -> 实现 Runnable 接口 -> 重写 run 方法
5 使用 lambda 表达式

        这五种创建方式都是等价的。

1.1 继承 Thread -> 重写 run 方法

//1.创建自己的线程类并继承Thread;
//2.重写run方法;
//3.创建Thread实例;
//4.运行MyThread线程;
class MyThread extends Thread{
    @Override
    public void run() {
        while (true){
            System.out.println("MyThread!");
        }
    }
}
public class Thread_Demo1 {
    public static void main(String[] args) {
        Thread thread = new MyThread();
        thread.start();

        while (true){
            System.out.println("main!");
        }
    }
}

1.2 使用匿名内部类 -> 继承 Thread -> 重写 run 方法

//1.以匿名内部类的方式创建一个继承于Thread的子类,重写run方法;
//2.变量名thread指向这个子类的实例;
//3.启动线程thread;
public class Thread_Demo3 {
    public static void main(String[] args) {
        Thread thread = new Thread(){
            @Override
            public void run() {
                while (true){
                    System.out.println("MyThread!");
                }
            }
        };
        thread.start();

        while (true){
            System.out.println("main!");
        }
    }
}

1.3 实现 Runnable 接口 -> 重写 run 方法

//1.创建一个类,实现Runnable接口;
//2.重写run方法;
//3.实现Runnable接口的子类实例化;
//4.将runnable作为参数,构造Thread类实例;
//5.启动线程thread;
class MyThread implements Runnable{
    @Override
    public void run() {
        while (true){
            System.out.println("MyThread!");
        }
    }
}
public class Tread_Demo2 {
    public static void main(String[] args) {
        Runnable runnable = new MyThread();
        Thread thread = new Thread(runnable);
        thread.start();

        while (true){
            System.out.println("main!");
        }
    }
}

1.4 使用匿名内部类 -> 实现 Runnable 接口 -> 重写 run 方法

//1.以匿名内部类的方式创建一个实现了runnable接口的类,重写run方法;
//2.把这个实现类作为Thread的构造方法的参数,创建Thread对象;
//3.启动线程thread;
public class Thread_Demo4 {
    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true){
                    System.out.println("MyThread!");
                }
            }
        });

        while (true){
            System.out.println("main!");
        }
    }
}

1.5 使用 lambda 表达式

//1.使用lambda表达式作为参数构造Thread实例;
//2.重新写run方法,这里的run方法是一个匿名函数;
//3.启动线程thread;
public class Thread_Demo5 {
    public static void main(String[] args) {
        Thread thread = new Thread(()-> {
            while (true){
                System.out.println("MyThread!");
            }
        });
        thread.start();

        while (true){
            System.out.println("main!");
        }
    }
}

二、查看线程的方法

以下介绍两种查看线程的方法:

1 通过JDK自带工具 jconsole 查看
2 通过 IDEA Debug调试器 查看

        查看线程时,必须保证线程是在运行中的。

2.1 jconsole 工具

找到 jconsole 工具:

jconsole 工具的路径:在JDK安装路径下的bin文件夹下。
如何找到JDK:确保已经安装过JDK,在命令行窗口中输入:java -verbose 后,输出的的第一行就包含了路径:

打开 jconsole 工具:

使用管理员权限下打开,否则打开后选项可能为空白。
找到本地进程中的Java进程。
进程的名字通常由包名+类名组成,是程序员自己取的名字,双击进入。

<JavaEE> 线程的五种创建方法 和 查看线程的两种方式_第1张图片

找到线程选项卡,查看线程:

<JavaEE> 线程的五种创建方法 和 查看线程的两种方式_第2张图片

2.2 IDEA Debug 调试器

<JavaEE> 线程的五种创建方法 和 查看线程的两种方式_第3张图片


阅读指针 -> 《线程类 Thread 的常见方法和属性》

链接生成中.........

你可能感兴趣的:(JavaEE,java-ee,进程和线程)