全部评论 
 一个是父类要继承,一个是接口要实现。 java可以实现多个接口,但只能继承一个父类,所以runnable更灵活一点。
runnable只是一个约定的接口 ,如果你想自己实现线程池自己定义接口随便叫都行。线程池里面task实现runnable接口放到阻塞队列里面,同时维持worker类中的线程去真正执行task,执行task其实就是调用runnable接口的run方法,所以runnable没啥含义,thread才是真正意义的可运行的线程
个人理解:当实现了runnable的类放进线程池执行时,线程池会创建一个叫worker的类实例,放进工作集。worker的构造方***创建一个线程,这个线程把这个worker本身放进去,就是new Thread(this)。然后线程池调用这个线程的start会去执行worker的run方法。执行完毕会去等待队列获取任务继续执行。如果没有获取到任务那么就要查看是否当前线程数大于核心线程数,是的话将等待初始化设置的存活时间后退出循环,线程结束。有个比较好的源码解析可以看看    https://www.cnblogs.com/qingquanzi/p/8146638.html
可以看下我的博客      https://xiepuhuan.github.io/2017/10/26/Java线程池源码解析/
threadpoolexecutor 里面worker工作类实现了Runnable接口            worker的构造函数,传了一个task,也传了一个thread,其实就是把任务和线程解耦了        我是这么理解的。。
Runable 是任务 ,线程是线程 ,线程池中的任务在工作队列,线程池中的线程取队列首节点任务执行,不知道对不对
感觉是一个东西
相关推荐
 牛客85294058...:“私聊能够滔滔不绝,而拉了一个小群之后就完全一声不吭”个人观点这跟从小到大“不要浪费大家时间”的社会环境有关:个人化的提问,如果你上学时有留心、或者参加QA环节多,会注意到这种做法经常是被人骂的。要营造让大家开口的氛围和做出欢迎讨论的议题设置还是比较难的,期待方法探索。
牛客85294058...:“私聊能够滔滔不绝,而拉了一个小群之后就完全一声不吭”个人观点这跟从小到大“不要浪费大家时间”的社会环境有关:个人化的提问,如果你上学时有留心、或者参加QA环节多,会注意到这种做法经常是被人骂的。要营造让大家开口的氛围和做出欢迎讨论的议题设置还是比较难的,期待方法探索。 投递字节跳动等公司10个岗位
投递字节跳动等公司10个岗位 点赞 评论 收藏   
分享
 10-22 12:03
  山东大学 Java   程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活 点赞 评论 收藏   
分享
 小型域名服务器:选调的部分,建议大家想考哪里的,就着重研究当地的选调政策,各地方差别太大了,山东专额选调限制的高校比中央还少,就离谱 。另外现在大多数选调也是先选岗再考试了,先出分后选岗的可能只有一些地方的人才政策才有。还有,不爱卷的人不建议报央选,工资低得吓人,全靠福利过活
。另外现在大多数选调也是先选岗再考试了,先出分后选岗的可能只有一些地方的人才政策才有。还有,不爱卷的人不建议报央选,工资低得吓人,全靠福利过活
 点赞 评论 收藏   
分享
 
 查看19道真题和解析
查看19道真题和解析