4

Windows 8 应用商店应用不再支持 Thread:

我在类库中创建一个线程:

protected static Thread m_thread = null;

然后在其中一个功能中:

m_thread = new Thread(new ParameterizedThreadStart(RunDetection));
m_thread.Start(Something);

我还需要中止该功能:

m_thread.Abort();

如何在 WIN8 商店应用程序中执行此操作?

4

2 回答 2

10

您可以在线程池上运行您的线程过程。

中止线程从来都不是一个可行的选择,因为它可能会挂起你的整个进程(废弃的锁,不一致的全局状态)。

于 2013-01-25T02:01:53.520 回答
0

手动创建线程通常是一种不好的做法。您应该真正深入了解多线程以获得优势。考虑使用ThreadPool

ThreadPool.QueueUserWorkItem(_ => { RunDetection(); });

此外,尽可能使用异步方法。即SomeActionAsyncBeginSomeAction等。如果类没有实现异步方法,则ThreadPool用于运行同步方法。

于 2013-01-25T02:12:02.203 回答