前言
本文主要内容
- 介绍java创建线程的两种方式
-
环境
win10
-
正文
概览/比较
其实这里说创建比较怪,在java这一层,创建线程本质上就一种方式,就是实例化Thread调用start,等待被选中然后run。这里的不同方式主要是针对赋予线程任务方式的不同。可以看到主要是两种方式:1.重写Thread的run方法 2.实现Runnable接口,编写run方法



这两种方式各有优缺 从面向对象编程的角度看,方式一使用继承,而方式二使用聚合,而聚合是比继承耦合性更低的,就是是说方式二更灵活些
类图如下:
方式一:
方式二:
package cn.zjm404.stu.multithreading.create;public class RunnableImpl implements Runnable{@Overridepublic void run() {System.out.println("Hello World");}}
RunnableImpl target1 = new RunnableImpl();Thread thread = new Thread(target1);thread.start();
继承Thread类
package cn.zjm404.stu.multithreading.create;public class ThreadExtends extends Thread{@Overridepublic void run() {System.out.println("Hello World");}}
Thread thread3 = new ThreadExtends();thread3.start();
