gpt4 book ai didi

.NET 内核之间线程的移动

转载 作者:行者123 更新时间:2023-12-02 20:34:42 25 4
gpt4 key购买 nike

跟进来自Multi-core usage, threads, thread-pools的问题.

Are threads moved from one core to another during their lifetime?

当然。想象一下你有三个 在双核系统上运行的线程。 给我一个公平的时间表,但不 涉及定期移动线程 核心之间。

这是我第一次访问这个网站,所以我想我没有足够的代表来发表评论。我决定提出一个新问题,引用我想评论的问题。

选择将线程移动到的核心的过程是怎样的?调度程序是否有一个需要处理时间的线程列表,当一个线程完成时,它会放入另一个线程?

此外,我想知道是否有关于线程在核心之间移动的说法的引用。或者它只是被认为是“常识”?

谢谢!

最佳答案

线程并不存在于特定的核心上,而是将其移动到另一个核心的过程。

操作系统只有一个准备执行的线程(和/或进程)列表,并将它们分派(dispatch)到任何可用的核心/CPU上。

也就是说,任何智能调度程序都会尝试尽可能在同一核心上调度线程 - 只是为了提高性能(数据更有可能位于该核心的缓存等中)

关于.NET 内核之间线程的移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579002/

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