C#中如何终止一个被挂起的线程?

某线程被挂起:myThread.Suspend();现在想终止他:myThread.Abort();就弹出错误,说什么“正在终止挂起的线程”。挂起的线程不能被终止吗?怎么解决呢?

第1个回答  2012-08-16
已经挂起的线程序不能终止吧,只能再执行才能终止
第2个回答  2012-08-13
试试resume,然后Abort.

c#线程停止
c#线程停止方法:1.我们需要在C#代码中添加Thread类,就可以开始设置。2.然后我们就能在这里就能设置,设置ThreadStart类进行实例化。3.此时我们就可以在这里启动并且和状态在执行,这是前提。4.因此我们就可以在这里对Thread对象,进行中止操作。5.为了程序的友好性,我们可以在这里输出一条提示。6.此时我们运...

C#中关闭程序时如何自动结束正在运行的线程?
\/\/窗体关闭事件中添加如下代码 if(this.thread != null || this.thread.IsAlive){ this.thread.Abort();this.thread = null;} \/\/就OK了

在C#中如何关闭线程
线程没有实例化这个概念,只有启动,停止,暂停等方法, 每个线程都会有一个名字,调用每个线程的 Abort() 方法就可以停止该线程了。补充:你的变量名是在哪里声明的? 如果要在另一个按钮事件中也能访问,必须声明为类的变量。

c#线程中 终止线程怎么实现的?
简单的方法是,Thread.CurrentThread.Abort()用于终止当前线程。当然了,你需求中不但要终止当前线程,还要执行别的业务,弹出form。那么就需要一个新的委托,在线程过程中调用这个委托来终止现成,从而达到在终止线程后执行其他业务。大概代码,我就写个大概的:public delegate void StopThreadDelegate(Thread ...

C# 停止线程的问题
你的代码逻辑我是这样理解的,遍历N个线程,如果线程状态不是stopped,就终止该线程 那你可以这样:private void Stop_Click(object sender, EventArgs e){ foreach (Thread threada in thread){ \/\/如果线程状态不为stopped,执行if里的业务逻辑代码 if (threada.ThreadState != ThreadState.Stopped){...

c# .net 怎么终止或暂停 处于 running 状态的线程?
终止线程可以用Thread.Abort()方法,但是最好写个标志位循环去关闭,然后判断状态为关闭了在跳出循环,直接一个Thread.Abort()不一定都绝对关闭或终止线程,这一点微软都不敢保证!

C#如何停止后台线程
不知道你要摧毁特定的线程,还是全部线程 给你个例子 Thread t = new Thread(new ThreadStart(run)); \/\/运行run方法的线程 t.Abort(); \/\/摧毁它

c# .net 一条线程 abort 之后,怎么重启启动。
回答:abort 就不能重启了,要暂停线程,还是用Suspend方法吧,继续的时候用Resume方法。 线程开始: thread.Start(); 线程挂起 thread.Suspend(); 线程继续 thread.Resume(); 线程终止 thread.Abort();

C# 如何挂起本线程 之后可以被其他线程回复
线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果 AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程 通过调用 Set 发出资源可用的信号。调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非...

如何有效地kill在C#中的线程
任何一个线程只要调用了exit都会导致进程结束,各种子线程当然也能很好的结束了,可是这种退出会有一个资源释放的问题.我们知道当一个进程终止时,内核对该进程所有尚未关闭的文件描述符调用close关闭,所以即使用户程序不调用close,在终止时内核也会自动关闭它打开的所有文件。没错,标准C++ IO流也会很好...

相似回答