线程基础核心 01 创建线程的方式

admin / 开发 / ... / Reads: 755

1.引子

在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式

2.线程启动

3.线程停止 4.线程生命周期

5.线程相关的方法

6.线程相关的属性

7.线程异常处理

8.线程安全

今天我们从第一个基础核心开始:创建线程的方式

277330-20200203094101525-1548883776

2.考考你

说法比较: 在网络上,关于创建线程的方式。主流的说法有四种:继承Thread、实现Runnable、线程池、Callable与Future

在官方文档,关于创建线程的方式。有且仅有两种:继承Thread、实现Runnable

#答案: 在java编程语言中,创建线程的方式,我们以官方文档为准,只有两种。关于说线程池、Callable与Future是项目开发中常用的方式,它们的底层其实还是Runnable。

3.继承Thread

package com.anan.thread.createthread;

public class ThreadDemo {

    public static void main(String[] args) {
        // 创建线程对象,并启动
        Thread t1 = new MyThread();
        t1.start();
    }
}

/**
 * 继承Thread方式,创建线程
 */
class MyThread extends Thread{

    @Override
    public void run() {
        System.out.println("继承Thread方式,创建线程");
    }
}

执行结果:

277330-20200203094218584-1227160793

4.实现Runnable

package com.anan.thread.createthread;

public class RunnableDemo {

    public static void main(String[] args) {
        // 创建线程对象,并启动
        Runnable r1 = new MyRunnable();
        Thread t1 = new Thread(r1);
        
        t1.start();

    }
}

/**
 * 实现Runnable接口,创建线程
 */
class MyRunnable implements Runnable{

    public void run() {
        System.out.println("实现Runnable接口,创建线程");
    }
}

执行结果:

129674

5.讨论分享

#实际开发中,哪一种创建线程的方式更好? 1.虽然在java编程语言中,有两种创建线程的方式:继承Thread、实现Runnable

2.在实际开发中,推荐使用实现Runnable接口方式,原因有:

2.1.实现Runnable接口方式,可以将线程处理业务,与创建线程分离,从而解耦 

2.2.实现Runnable接口方式,扩展性更好,因为在java编程语言中,只能继承一个父类,而可以实现多个接口

2.3.实现Runnable接口方式,配合线程池使用,有更好的资源利用率和性能

关于作者

王硕,网名信平,十多年软件开发经验,业余架构师,精通Java/Python/Go等,喜欢研究技术,著有《PyQt 5 快速开发与实战》《Python 3.* 全栈开发》,多个业余开源项目托管在GitHub上,欢迎微博交流。

Comments

Make a comment

Author: admin

Publish at: ...

关于作者

王硕,网名信平,十多年软件开发经验,业余架构师,熟悉 Java/Python/Go 等,喜欢读书,音乐和宅在家里。
专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。
Email: xujieiata@163.com

www.ultrapower.com ,王硕的博客,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。