前言
本文主要内容
- 介绍java创建线程的两种方式
-
环境
win10
-
正文
概览/比较
其实这里说创建比较怪,在java这一层,创建线程本质上就一种方式,就是实例化Thread调用start,等待被选中然后run。这里的不同方式主要是针对赋予线程任务方式的不同。可以看到主要是两种方式:1.重写Thread的run方法 2.实现Runnable接口,编写run方法
这两种方式各有优缺 从面向对象编程的角度看,方式一使用继承,而方式二使用聚合,而聚合是比继承耦合性更低的,就是是说方式二更灵活些
类图如下:
方式一:
方式二:
package cn.zjm404.stu.multithreading.create;
public class RunnableImpl implements Runnable{
@Override
public 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{
@Override
public void run() {
System.out.println("Hello World");
}
}
Thread thread3 = new ThreadExtends();
thread3.start();