请问while(true)这种条件是在什么时候停止啊

时间:2021-07-29 23:54:48
在看线程的一些列子时,经常看到这句,但就不明白
while(true)是否表示条件永真,如果是的话为什么要这句话.
public static void ThreadA()
{
   while (true)
   {
    Console.WriteLine("请输入整数:");
    }
}

12 个解决方案

#1


语句是永远循环,但当杀死线程后该循环结束。

#2


如果要跳出,需要你手工判断条件break跳出,不然它会永远循环。

#3


while (true)
   {
    Console.WriteLine("请输入整数:");
    }
或写成
while (1)
   {
    Console.WriteLine("请输入整数:");
    }
循环都不会停止

#4


永远循环下去,只到死去

#5


在里面加上break就结束了。

#6


Thread.Abort()

#7


while (true)
{

}

#8


while (true)
{
    if (...)
    {break;}
}

#9


while(true)是否表示条件永真,如果是的话为什么要这句话.

因为一般来讲线程是不需要与前台界面进行交互,比如你有一个socket程序在监听和接收数据,你并不知道什么时候会有信息发送过来,所以需要先启动监听程序的线程,让这个线程一直不停的运行下去,并等待接收数据。

再比如说你需要在winform上显示一个时钟(我知道你可以拖一个timer控件来实现,这里介绍另外一种方法)
void show_time()
{
   while(true)
   {
      label1.Text=System.DateTime.Now.ToString("HH:mm:ss");
      Thread.Sleep(500);
   }
}

main()
{
   new Thread(new ThreadStart(show_time)).Start();
}

#10


条件表达式为永真,就一直循环下去了,
直到你循环体内有break或者goto的语句,或者结束线程了。


while (true)
   {
    Console.WriteLine("请输入整数:");
    }
或写成
while (1)  //这是C语言的写法,在C#里面有专门的bool类型,所以应写成while(1==1)
   {
    Console.WriteLine("请输入整数:");
    }
循环都不会停止

#11


一般是用Thread.Abort()啊。

#12


出现异常的时候也会出来,如果有对应的异常处理的话

#1


语句是永远循环,但当杀死线程后该循环结束。

#2


如果要跳出,需要你手工判断条件break跳出,不然它会永远循环。

#3


while (true)
   {
    Console.WriteLine("请输入整数:");
    }
或写成
while (1)
   {
    Console.WriteLine("请输入整数:");
    }
循环都不会停止

#4


永远循环下去,只到死去

#5


在里面加上break就结束了。

#6


Thread.Abort()

#7


while (true)
{

}

#8


while (true)
{
    if (...)
    {break;}
}

#9


while(true)是否表示条件永真,如果是的话为什么要这句话.

因为一般来讲线程是不需要与前台界面进行交互,比如你有一个socket程序在监听和接收数据,你并不知道什么时候会有信息发送过来,所以需要先启动监听程序的线程,让这个线程一直不停的运行下去,并等待接收数据。

再比如说你需要在winform上显示一个时钟(我知道你可以拖一个timer控件来实现,这里介绍另外一种方法)
void show_time()
{
   while(true)
   {
      label1.Text=System.DateTime.Now.ToString("HH:mm:ss");
      Thread.Sleep(500);
   }
}

main()
{
   new Thread(new ThreadStart(show_time)).Start();
}

#10


条件表达式为永真,就一直循环下去了,
直到你循环体内有break或者goto的语句,或者结束线程了。


while (true)
   {
    Console.WriteLine("请输入整数:");
    }
或写成
while (1)  //这是C语言的写法,在C#里面有专门的bool类型,所以应写成while(1==1)
   {
    Console.WriteLine("请输入整数:");
    }
循环都不会停止

#11


一般是用Thread.Abort()啊。

#12


出现异常的时候也会出来,如果有对应的异常处理的话