线程的创建方式

1、继承Thread,重写run方法

        通过自定义一个类(比如MyThread),使其继承Thread类,然后对run方法进行重写,最后在main方法中new出MyThread实例,然后调用所继承的start方法创建一个线程(注意,仅仅创建MyThread并不是在系统中创建一个线程,只有调用start时,才创建出一个线程)

class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("继承Thread,重写run方法创建线程");
    }
}
 
public class Main {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
    }
}

2、实现Runnable接口,重写run方法

通过自定义一个类(这里起名为:MyRunnable)实现Runnable接口,重写run方法,最后在main方法new出MyRunnable实例和Thread实例,最后通过start方法创建并启动线程。

class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("实现Runnable接口,重写run方法");
    }
}
 
public class Main {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
    }
}

3、使用匿名内部类创建Thread子类对象

直接创建Thread子类,同时实例化出一个对象,重写run方法,最后通过start方法创建并启动线程。

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread() {
            @Override
            public void run() {
                System.out.println("使用匿名内部类创建 Thread 子类对象");
            }
        };
        thread.start();
    }
}

相关推荐

  1. 创建线方式

    2024-05-10 17:44:03       38 阅读
  2. 线创建方式

    2024-05-10 17:44:03       36 阅读
  3. 线创建方式

    2024-05-10 17:44:03       40 阅读
  4. Callable方式创建线

    2024-05-10 17:44:03       64 阅读
  5. JUC基础_1.JUC概述&&创建线方式

    2024-05-10 17:44:03       29 阅读
  6. 创建线几种方式,及线生命周期?

    2024-05-10 17:44:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 17:44:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 17:44:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 17:44:03       87 阅读
  4. Python语言-面向对象

    2024-05-10 17:44:03       96 阅读

热门阅读

  1. 金融建模与分析

    2024-05-10 17:44:03       28 阅读
  2. 影像图层调整图像显示效果的色彩参数汇总

    2024-05-10 17:44:03       24 阅读
  3. oracle hint用法测试

    2024-05-10 17:44:03       37 阅读
  4. LeetCode|700. Search in Binary Search Tree

    2024-05-10 17:44:03       36 阅读
  5. 去中心化交易所系统开发搭建的关键步骤解析

    2024-05-10 17:44:03       29 阅读
  6. day 24 第七章 回溯算法part01

    2024-05-10 17:44:03       27 阅读
  7. 【Linux】安装Python3.11报错

    2024-05-10 17:44:03       36 阅读
  8. 5.Git

    5.Git

    2024-05-10 17:44:03      33 阅读