Windows 8商店应用程序不支持System.Threading.Thread

时间:2013-01-25 01:56:46

标签: c# multithreading windows-store-apps

Windows 8商店应用不再支持线程:

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

protected static Thread m_thread = null;

然后在其中一个功能中:

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

我还需要中止该功能:

m_thread.Abort();

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

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:0)

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

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

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