1.引子
在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.建立线程的方式 2.线程启动 3.线程中止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天咱们从第一个基础核心开始:建立线程的方式
2.考考你
#考考你: 你知道在java编程语言中,有几种建立线程的方式吗? #参考以下:网友说法、官方文档
网友说法:java
官方文档说法:编程
#说法比较:
在网络上,关于建立线程的方式。主流的说法有四种:继承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方式,建立线程"); } }
执行结果:网络
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接口,建立线程"); } }
执行结果:多线程
5.讨论分享
#实际开发中,哪种建立线程的方式更好?
1.虽然在java编程语言中,有两种建立线程的方式:继承Thread、实现Runnable
2.在实际开发中,推荐使用实现Runnable接口方式,缘由有:
2.1.实现Runnable接口方式,能够将线程处理业务,与建立线程分离,从而解耦
2.2.实现Runnable接口方式,扩展性更好,由于在java编程语言中,只能继承一个父类,而能够实现多个接口
2.3.实现Runnable接口方式,配合线程池使用,有更好的资源利用率和性能并发