gpt4 book ai didi

java - Executors.newSingleThreadExecutor 会一直运行在同一个系统内核上吗?

转载 作者:行者123 更新时间:2023-11-30 06:40:06 25 4
gpt4 key购买 nike

给定一个来自 Executors.newSingleThreadExecutor() 的线程池,将在同一个 CPU 核心/线程上执行所有请求,或者在每个任务中它可以选择一个新的?

最佳答案

核心和线程是两个不同的东西。就物理核心而言,ThreadPoolExecutor 的库文档不保证任何此类声明将核心绑定(bind)到线程。开箱即用的 JVM 也没有提供将线程绑定(bind)到处理器物理内核的低级别支持。

将进程或线程绑定(bind)到处理器称为 processor affinity .无论出于何种原因,如果您希望将一个线程绑定(bind)到一个特定的核心,您会想看看这个:https://github.com/OpenHFT/Java-Thread-Affinity .

如果您的问题是关于线程以及同一个线程是否会执行提交到池中的所有任务?那么不一定,根据线程的空闲时间,池可能会终止并创建一个新线程来执行任务。我希望这会清除您的查询。

关于java - Executors.newSingleThreadExecutor 会一直运行在同一个系统内核上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58886879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com