线程 - 为什么我们在等待时使用while(true)

top*_*ard 6 java multithreading

在Java中的大多数线程示例中,通常使用while(true)块,如下所示:

while(true) {
 try {
  wait() 
 } catch (Exception ex) {
   /*do  something*/ 
 }
}
Run Code Online (Sandbox Code Playgroud)

使用while(true)的目的是什么?在什么样的情况下它们特别有用?客户/服务器通信?

谢谢,
- 伊瓦尔

L.B*_*utz 1

如果您想在代码运行时始终执行某项操作并且不知道需要多久执行一次,那么 while(true) 非常有用。

客户端/服务器通信是一种场景。其他场景是游戏动画或保持某些值始终最新。

线程与其他代码分开,因此您的应用程序不会通过使用 while(true) 挂起。

在 while(true) 循环中添加退出标志很有用,这样您就可以根据需要停止它。

Boolean isExit = false; //set this value to true when needed.
while(true) {
 try {
  if(isExist){
    break;
  }
  wait() 
 } catch (Exception ex) {
   /*do  something*/ 
 }
}
Run Code Online (Sandbox Code Playgroud)