线程八大核心
代码实现地址 https://gitee.com/xmh33/thread
一、实现多线程的方法有哪几种
Oracle官方文档:两种
两种方法的本质对比:
方法一:最终调用target.run();
方法二:run()整个都被重写
实际上创建线程方式只有一种——构造Thread类,而实现线程的执行单元有两种方式
一种是实现Runnable接口(更好)
实现Runnable接口的run()方法,并把Runnable实例传给Thread类
另一种是继承Thread类
重写Thread的run方法
缺点:具体执行的任务与Thread类解耦
继承Thread类每次只能新建一个独立的线程
无法继承其他类
二、启动线程的正确和错误方式
start()和run()的比较(重点)
public class StartAndRunMethed {
public static void main(String[] args) {
Runnable runnable = ()->{
System.out.println(Thread.currentThread().getName());
};
runnable.run();