gpt4 book ai didi

c# - Empty Infinite While 循环的 CPU 使用率增加

转载 作者:太空狗 更新时间:2023-10-30 00:19:06 24 4
gpt4 key购买 nike

谁能解释一下为什么以下无限循环会占用大量 CPU 使用率(如果总核心数为 2,则 CPU 使用率增加了 50%,如果总 CPU 核心数仅为 1,则增加了 100%)

但如果我取消注释该行,它会减少 1 或 2 个 CPU 使用率吗?

    public class Program
{
public static void Main(string[] args)
{
while (true)
{
//Console.WriteLine("hello..");
}
}
}

最佳答案

Console.WriteLine 是一个阻塞(可中断)I/O 调用,因此当处理器在 I/O 上被阻塞时可能会发生其他事情。事实上,它在 I/O 上花费的时间比评估简单条件 true 和跳转花费的时间明显多!

如果没有 writeline 调用,您的处理器将完全忙碌并且无法被中断。

尝试将 Console.WriteLine 替换为 int x = 1 或任何不会阻塞的内容。这应该像空体情况一样。

关于c# - Empty Infinite While 循环的 CPU 使用率增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051121/

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