multithreading - 挂起的线程可以中止吗?

标签 multithreading delphi-prism oxygene

我创建了一个线程,并且该线程可以挂起。那么,如何杀死或终止挂起的线程?

我尝试ABORT该线程,但收到一条运行时错误消息,指出该线程已挂起且无法中止。我寻找过 terminate 方法或类似的方法,但它似乎不存在。

myThread := new Thread(@BigLoop);
myThread.Start;

myThread.Suspend;
myThread.Abort; <<<===exception is raised.

那么,如何杀死或终止挂起的线程?

最佳答案

恢复挂起的线程后,我能够中止该线程;

myThread := new Thread(@BigLoop);
myThread.Start;

myThread.Suspend;


if MyThread.ThreadState = ThreadState.Suspended then
   myThread.Resume;

myThread.Abort; 

关于multithreading - 挂起的线程可以中止吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994069/

相关文章:

multithreading - 关于线程的内存资源的重新分配

java - 如何模拟ad hoc网络节点?

delphi - 在 Delphi Prism 中将 int 转换为 Enum

linux - 为什么mono下linux上的.net程序无法运行?

open-source - 我可以使用 Oxygene 免费命令行编译器来开发开源代码吗?

checked - 如何以编程方式按下工具栏按钮?

python - 我如何在多线程应用程序中将 GIL 用于字典?

python - 如何并行运行函数?

.net - 为什么too​​lstriplabel 的backcolor 属性在设计时或运行时不会改变?