ken*_*ytm 46
来自维基词典:
对于案例1,它可能就像
for (unsigned int i = 0; i < 0xffffffff; ++ i) {}
Run Code Online (Sandbox Code Playgroud)
Ray*_*Ray 27
我认为这个短语通常用于指定一个循环,它循环多次,并且会对程序的性能产生严重影响 - 也就是说,它可以使用大量的CPU周期.通常,您会在优化讨论中听到这句话.
例如,我想到了游戏,其中循环可能需要处理屏幕上的每个像素,或科学应用程序,其中循环正在处理巨型数据点阵列中的条目.
在视频Jon Skeet和Tony the Pony中有一个很好的紧环(〜无限循环)的例子.
例子是:
while(text.IndexOf(" ") != -1) text = text.Replace(" ", " ");
Run Code Online (Sandbox Code Playgroud)
因为IndexOf忽略Unicode零宽度字符(因此找到两个相邻的空格)而产生紧密循环,但Replace不忽略它们(因此不会替换任何相邻的空格).
其他答案中已经有了很好的定义,所以我再也没有提到它们.
小智 5
SandeepJ 的答案在处理数据包的网络设备的上下文中是正确的(例如,请参阅中间盒上的维基百科条目)。我想补充一点,运行紧密循环的线程/任务尝试在单个 CPU 上保持调度状态,而不是切换上下文。