C# thread 结束后如何再启动?

assassion1981 assassion1981 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
简单代码如下:

Thread mainThread;;
mainThread = new Thread(StartServer);

按钮事件
if (mainThread.ThreadState == ThreadState.Running)
{
return;
}
else
{
mainThread.Start();
}

问题来了,第一次按下按钮,可以启动这个线程mainThread;但是当mainThread stop后(监测此时mainThread.ThreadState 为Stopped),再次按下这个按钮时,会报错“线程正在运行或被终止;它无法重新启动”。由于suspend和resume已经弃用了,这该怎么处理?需要再次通过 New 关键字声明这个线程,啊?
...全文

相关推荐

C#多线程之Thread中Thread.IsAlive属性用法分析

主要介绍了C#多线程之Thread中Thread.IsAlive属性用法,实例分析了C#判断线程可用状态的技巧,非常具有实用价值,需要的朋友可以参考下

weixin_38640984

c# Thread类的用法详解

Thread类相对于线程池中的线程,使用者有更多的控制权。该类允许创建前台线程,设置线程优先级等。Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数。 1、给线程传递数据   给线程传递数据的两种方式:   1.使用带ParameterizedThreadStart委托参数的Thread构造函数: //定义一个数据类型,传递给线程 public struct Data { public string Message; } //创建一个方法,将方法给线程的ParameterizedThreadStart委托 static

weixin_38625351

C# Thread、ThreadPool、Task测试

C# Thread、ThreadPool、Task测试,三者创建、启动的方法

MrWhatWhy

详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿

本文主要介绍了C#中 Thread,Task,Async/Await,IAsyncResult的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧

weixin_38731226

C# 禁止结束进程,保护进程不被结束(源代码)

C#,保护进程,通过VisualStudio.NET2005平台,控制系统不能结束自身进程,控制系统不能结束指定进程,已经生成了一个动态链接库,方便调用,(C#工程源代码),具体内容访问:http://blog.csdn.net/kangkanglx/archive/2010/06/25/5692984.aspx

kangkanglx
评论 8
收藏 已收藏
分享
返回顶部
assassion1981
C# 111,129 成员 642,538 内容