开发者社区 问答 正文

如何保证线程不被销毁?

如何保证线程不被销毁?

展开
收起
Medusa 2021-10-19 19:13:09 527 分享 版权
1 条回答
写回答
取消 提交回答
  • 实现方式非常巧妙, 核心线程( Worker) 即使一直空闲也不终止, 是通过workQueue.take()实现的,它会一直阻塞到从等待队列中取到新的任务。非核心线程空闲指定时间后终止是通过workQueue.poll(keepAliveTime, TimeUnit.NANOSECONDS)实现的,一个空闲的Worker 只等待keepAliveTime,如果还没有取到任务则循环终止,线程也就运行结束了。

    资料来源:《Java开发者面试百宝书》,链接:https://developer.aliyun.com/topic/download?id=7899

    2021-10-20 12:17:35
    赞同 展开评论