关于线程池的疑问

首先是线程池中的线程如何实现复用,即一个线程执行完后怎么变成了空闲线程,二是能否对一个线程start两次,如果想某个线程执行完后再次执行,如何做?求各位大佬解答
全部评论
最简单的就是 线程创建后都等待某个信号,竞争任务队列 当前任务执行完了就循环继续等待信号 竞争任务队列
点赞 回复 分享
发布于 2017-11-02 12:14
我只针对Java的线程池来说。 第一、Java的线程池是通过阻塞队列来完成线程复用的,如果阻塞都列不为空,线程从阻塞队列取出Runable运行,运行完毕后,继续到阻塞队列去取新任务,如果阻塞队列为空,就阻塞线程。 懂了吧?所谓的线程复用,就是不停的从阻塞队列取任务,如果没有新任务就阻塞。至于阻塞队列的实现,其实就是加锁与线程同步的问题。 第二、一个线程不能start两次。
点赞 回复 分享
发布于 2017-11-03 14:46

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
我在朝九晚六双休的联想等你:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务