面试被问线程池
|
公众号。 这篇是并发编程系列文章第五篇了,说到并发编程,怎么少的了线程池,在阿里线程池使用场景非常多,用好线程池这个利器也算是日常开发必须掌握的了,下面讲讲2019年的那一夜,就线程池和某位面试官鏖战了半个小时。 面试官 : 看你简历上写了对系统性能做了优化,能简单给我介绍一下吗?都有哪些优化,你是怎么衡量优化效果的? 我 : 巴拉巴拉。。。例如我们系统之前要查询用户的个人身份信息、联系人信息、订单状态信息、积分信息,之前系统是单线程串行处理的,我用线程池对四个任务并行处理,然后对处理结果合并。 面试官 : 你刚才说用到线程池,能跟我讲讲为什么用线程池吗?我创建四个线程处理可不可以? 我 : 可以,当然可以。 我 : 但是用线程池更合适。阿里巴巴开发规约中有一条: 3.【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。 《阿里巴巴研发手册》 我 : 就像你去餐厅吃饭,服务员总是提前洗好盘子,不会等你来打饭的时候才洗盘子,盘子就像是线程池里的线程,你打饭就是要处理的任务。 面试官 : 那你知道线程池的相关类关系吗?
我: 这算什么问题?不应该是问我核心线程数怎么设置吗?好吧。。。请看下图: (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |




浙公网安备 33038102330466号