欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实现多线程最简单的两种方式

程序员文章站 2023-08-28 16:15:59
多线程创建多线程方式1:继承Thread类,重写run方法,调用start()方法/** * @author 颂梓枫 * @since JDK 1.8 * ClassName: ThreadDemo * date: 2021/1/1 22:19 * Description: * 创建多线程方式1:1。继承Thread类 * 2。重写run方法 * 3。调用start()方法 */public class ThreadDe...

多线程(推荐使用方式2)

创建多线程方式1:继承Thread类,重写run方法,调用start()方法

/**
 * @author 颂梓枫
 * @since JDK 1.8
 * ClassName: ThreadDemo
 * date: 2021/1/1 22:19
 * Description:
 * 创建多线程方式1:1。继承Thread类
 *                2。重写run方法
 *                3。调用start()方法
 */
public class ThreadDemo extends Thread {
    //重写Thread方法
    @Override
    public void run() {
        for (int i = 0; i < 30; i++) {
            System.out.println("run方法"+i);
        }
    }
    public static void main(String[] args) {
        ThreadDemo threadDemo = new ThreadDemo();
        //调用start()方法
        threadDemo.start();

        for (int i = 0; i < 30; i++) {
            System.out.println("main方法--->"+i);
        }
    }
}

运行结果(部分)

main方法--->16
main方法--->17
main方法--->18
run方法0
run方法1
run方法2
main方法--->19
main方法--->20
main方法--->21
main方法--->22
main方法--->23
main方法--->24
main方法--->25
main方法--->26
main方法--->27
main方法--->28
main方法--->29
run方法3
run方法4
run方法5
run方法6

创建多线程方式2:实现runable接口,重写run方法,调用

注意:线程开启不一定立即执行,由CPU调度

创建多线程方式2:.实现runnable接口 ,.重写run方法 , .创建线程对象调用start()方法

/**
 * @author 颂梓枫
 * @since JDK 1.8
 * ClassName: ThreadRun
 * date: 2021/1/1 23:40
 * Description:
 * 创建多线程方式2:1.实现runnable接口
 *                2.重写run方法
 *                3.创建线程对象,调用start()方法
 */
public class ThreadRun implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 20; i++) {
            System.out.println("run--->"+i);
        }
    }
    public static void main(String[] args) {
        //创建Runnable接口的实现类对象
        ThreadRun threadRun = new ThreadRun();
        //创建线程对象,通过线程对象开启线程
        Thread thread = new Thread(threadRun);
        thread.start();
        //或直接执行  new Thread(threadRun).start();
        for (int i = 0; i < 20; i++) {
            System.out.println("main--->"+i);
        }
    }
}

运行结果

run--->4
run--->5
main--->1
run--->6
run--->7
run--->8
main--->2
main--->3
main--->4
main--->5
run--->9
run--->10
run--->11

本文地址:https://blog.csdn.net/weixin_43306882/article/details/112076069