一、继承Thread类

Thread方式创建线程
二、实现Runnable接口

Runnable方式创建线程
比第一种方式多一行代码

相比第一种区别

image.png
Runnable方式可以避免Thread方式由于java单继承带来的缺陷
并且代码可以被多个线程共享,适合多个线程处理同一个资源的情况
售票案例:

继承Thread方法1

2
…………………………………………………………………………………………………………………………………………

实现Runnable接口方法1

2
结果不同是因为代码可以被多个线程共享,适合多个线程处理同一个资源的情况,结果也是随机的

随机结果案例
当创建多个对象,多个线程处理多个资源情况

修改3

结果