实现多线程的方法
- 继承Thread类
- 实现Runnable接口
- 方法2(实现Runnable接口)更好
- 两种方法的本质对比
- 方法一: run()整个都被重写
- 方法二: 最终调用target.run();
- 通常我们可以分为两类,Oracle也是这么说的
- 准确的说,创建线程只有一种方式那就是构造Thread类,而实现线程的执行单元有两种方式
- 方法一: 实现Runnable接口的run方法,并把Runnable实例传给Thread类
- 方法二: 重写Thread的run方法
典型错误观点
- 线程池创建线程也算是一种新建线程的方式
- 通过Callable和FutureTask创建线程,也算是一种新建进程的方式
- 无返回值是实现Runnable接口,有返回值是实现Callable接口,所以Callable是新的实现线程的方式
- 定时器
- 匿名内部类
- Lambda表达式
典型错误观点总结
- 多线程的实现方式,在代码写法中千变万化,但其本质万变不离其宗
实现Runnable接口和继承Thread类哪种方式更好
- 从代码架构角度
- 新建线程的损耗
- java不支持双继承
- 可参考实现Runnable接口和继承Thread类哪种方式更好
线程Thread类的start()和run()
线程Thread类的start()和run()
posted @
2021-11-26 17:05
繁夏
阅读(
37)
评论()
收藏
举报