在代码中使用 while True

Posted

技术标签:

【中文标题】在代码中使用 while True【英文标题】:use of while True in code 【发布时间】:2014-02-15 13:12:35 【问题描述】:

我是一个相对较新的程序员,很多次我看到专家程序员在表达式下编写一段代码

while True

我很困惑它有什么意义?它是用来执行必须执行的那部分代码还是只是一个约定?

【问题讨论】:

这应该回答你的问题:***.com/questions/6850380/are-whiletrue-loops-so-bad is while(true) bad programming practice?的可能重复 @jkbkot IMO 略有不同。您链接的那个是与while (condition) 进行比较和对比,而这个要求更广泛。 (尽管如果 OP 的意思是“与 while (condition) 相反,那么我想它毕竟是重复的。) @starsplusplus 是的,我也在考虑。我链接它是因为一些答案和 cmets 也解决了 OP 的问题——例如在 multitrheading 等中使用 while (true)。 是的,OP 很可能会觉得它有用/有趣。 :) 【参考方案1】:

在某些情况下,最好让条件始终评估为真,从而创建一个无限循环。

while(true)

    //do your work here in loop

当有意创建这样的循环时,通常会有另一个控制结构(例如break 语句)来控制循环的终止。例如:

while (true) 

   //do complicated stuff
   if (someCondition) break;
   //more stuff

【讨论】:

【参考方案2】:

这意味着无限循环。所以如果你想使用这个,你必须在里面放一个代码,以跳出这个循环(break,return),否则你的代码将永远在这个循环中。 检查:this

【讨论】:

以上是关于在代码中使用 while True的主要内容,如果未能解决你的问题,请参考以下文章

使用“while (true) ...”有啥意义?

需要 sse 时在 php 中冻结其他函数使用 while(true)

在 While 循环中使用 1 == 1 或 true

实现Runnable的多线程代码中,while(true)表示的啥含义?为啥没有while(t

VBA 中 do while loop 用法

使用 macOS High Sierra 时在 C 中使用 while(free) 而不是 while(true)