当前位置:  开发笔记 > 编程语言 > 正文

无法在Silverlight中杀死工作线程

如何解决《无法在Silverlight中杀死工作线程》经验,为你挑选了1个好方法。

我正在研究多线程Silverlight应用程序.

该应用程序有两个线程:Main/UI和后台工作线程.

UI线程应该能够杀死后台线程,如下所示:

private Thread executionThread;

....

executionThread = new Thread(ExecuteStart);
executionThread.Start();

....

executionThread.Abort(); // when the user clicks "Stop"

最后一行引发了一个异常:

MethodAccessException:尝试访问方法失败:System.Threading.Thread.Abort()

任何的想法?为什么我不能在Silverlight中中止一个帖子?

谢谢,纳伊米



1> Peter McG..:

您可能需要考虑使用BackgroundWorker类,而不是手动为此目的创建线程.

此类具有内置功能,可在WorkerSupportsCancellation = true时取消异步操作.

有关如何在Silverlight中使用BackgroundWorker 的完整示例,请查看MSDN上的这篇文章.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有