Windows 8商店应用不再支持线程:
我在类库中创建一个线程:
protected static Thread m_thread = null;
然后在其中一个功能中:
m_thread = new Thread(new ParameterizedThreadStart(RunDetection));
m_thread.Start(Something);
我还需要中止该功能:
m_thread.Abort();
如何在WIN8商店应用中执行此操作?
答案 0 :(得分:10)
您可以在线程池上运行线程过程。
中止一个线程从来就不是一个可行的选择,因为它可能会挂起你的整个过程(放弃锁定,不一致的全局状态)。
答案 1 :(得分:0)
手动创建线程通常是一种不好的做法。你应该真正深入了解多线程以获得优势。考虑使用ThreadPool:
ThreadPool.QueueUserWorkItem(_ => { RunDetection(); });
此外,尽可能使用异步方法。即SomeActionAsync
,BeginSomeAction
等。如果类没有实现异步方法,那么使用ThreadPool
来运行同步方法。