2.实现Runnable接口(重点)

Thread类也实现了Runnable接口

image-20211006195357255


image-20211006195635413

image-20211006195748460

image-20211006202733389

执行,互不影响,交替执行

image-20211006202905760

快捷输入

image-20211006203025221

实际上方法一和方法二相同,查看Thread类源码发现,他也继承Runnable接口,方法二通过一个代理Thread,把runnable接口的实现类丢进去调用了start,本质上和方法一直接thread.start()相同,只不过传入了一个对象


Runnable接口里只有一个run方法

推荐方法二,因为Java是单继承

一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子

但接口可以多继承,所以推荐runnable

image-20211006210048364


现在把TestThread2改成用Runnable接口实现,其他都不用动

image-20211006210916358

image-20211006210941412


小结

image-20211006211237753

创建一个测试类,实现多个线程操作同一个对象

image-20211006215255447

image-20211006215317865

一个并发问题

image-20211006215424576

 

来源:b站狂神 

posted on 2021-10-06 21:57  托马斯源  阅读(21)  评论(0编辑  收藏  举报