C#怎样结束一个无限循环进程?

一个while (true){ 监视某个端口 }的Thread,怎样结束这个进程?
代码应该怎么写?

bool bShutdown = false;
while(!bShutdown)
{
TcpClient client = listener.AcceptTcpClient();
string message = //client接收数据
if(message == "ShutdownListener")
{
bShutdown = true;
}
}

需要结束这个线程的时候,给自己的这个端口发送一个ShutdownListener命令,线程就结束了.

提醒下你:最好弄清楚什么是进程,什么是线程.你的概念都不对
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-26
Thread不是进程,而是线程把Thread变成全局变量,强制让Thread1.Abort()
第2个回答  2009-05-26
while (true)
{
if(true)
{
break;
}
}
第3个回答  2009-05-26
这个是官方的解答,最后是例子程序。不明白就问我吧
http://msdn.microsoft.com/en-us/library/7a2f3ay4(VS.80).aspx

c#中如何按任意键退出无限循环
最简单就是用timer~在timer的事件里写上循环里的东西,然后几毫秒执行一次,然后监听一下鼠标移动事件和键盘按下时间,在事件里讲timer停止就可以了!挺简单的!不过timer的时间最好不要设太小,容易卡~

C# 怎么关掉无限递归循环异常?
应该是判断逻辑有问题,系统不会误认为你进入了无限循环,除非你是真有死循环。 如果可以贴代码。

C#想人为阻塞,应该用什么方法?
可以用AutoResetEvent的waitone方法,具体的搜索一下AutoResetEvent的用法就知道了。

关于C# whlie无限循环,
还有一个地方提醒你,flag = l.IndexOf(input);\/\/这里,应该+1,因为C#索引是从0开始的。while (true){ Console.Write("请输入数组...\\n");String input = Console.ReadLine();string[] inputs = input.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);List<string> l = inpu...

C#循环语句都是有哪几种?怎么用?
1、dowhile循环,先执行一次然后判断while里的条件代码块,当条件为‘真’时继续循环 do{ 操作;}while(循环条件);2、while判断while条件代码块,然后根据结果执行 while(循环条件){ 操作;} 3、for循环 for(初始化;条件表达式;增量){ 语句;} 4、foreach循环 例子 int[]arr={1,...

我用c#做的无限循环病毒::
这个程序还不至于死机吧!死循环而已,顶多cpu使用率高点,更不能称为病毒了!c++中到是可以不断new对象分配内存然后不delete,然后内存占光,你只是打印一下。。。

c#中如何保证每隔一段时间执行一个动作。
使用Timer控件,在它的Tick事件里编写你希望执行的动作,并通过设置interval设置执行此动作的时间间隔,interval时间是以毫秒为单位的,即如果你把interval值设为1000则此动作每间隔1秒钟执行一次。

C#怎么设置无限循环
C# 代码:while(true){ 这里面写方法,就是简单的死循环了;}

关于C# Thread的简单问题
Background状态表示该线程在后台运行,那么后台运行的线程有什么特别的地方呢?其实后台线程跟前台线程只有一个区别,那就是后台线程不妨碍程序的终止。一旦一个进程所有的前台线程都终止后,CLR(通用语言运行环境)将通过调用任意一个存活中的后台进程的Abort()方法来彻底终止进程。

c#中如何保证每隔一段时间执行一个动作,即实现刷新功能?
if (n >= 4)\/\/不能无限的循环下去,当弹出3个对话框了,就停 { timer1.Enabled = false;\/\/此属性为false,timer1_Tick事件就不会执行了 } } private void Form1_Load(object sender, EventArgs e){ timer1.Enabled = true; \/\/设置为truetimer1_Tick实践就会执行,开始计时 timer1.Interval...

相似回答