实现多线程的方法到底是几种?

首先,从不同的角度看有不同的答案

Oracle 官网给出的答案 : 2种

1. 继承Thread类

2. 实现Runnable接口

而观察这两种方法的实现原理,其实本质是一样的

Thread类的run()方法

public void run(){
    if(target != null){
        target.run();
    }
}

target是一个实现Runnable接口对象

继承Thread类的方式,只是将上面的run()方法重写了而已

常见创建线程的方法,如:使用线程池、计时器、匿名内部类、Lambda表达式等等都没有逃出新建Thread类的本质,只是不同的外部形式

全部评论

相关推荐

10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务