在UWP / Windows 10移动设备中更换System.Threading.Thread

时间:2015-11-30 14:23:57

标签: windows-mobile uwp

在UWP中,如何访问线程对象?我想更改主线程的名称和我将管理的其他线程。

我还想检查当前线程是否是之后的主线程。

我定位到Windows 10移动版。以下代码示例适用于桌面,但不适用于手机(获取' System.DllNotFoundException'):

[DllImport("kernel32.dll")]
static extern IntPtr GetCurrentThread();

感谢。

4 个答案:

答案 0 :(得分:2)

您应该使用Tasks而不是线程。 https://msdn.microsoft.com/en-us/library/system.threading.tasks.task%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

关于线程的重命名,您能否告诉我为什么需要重命名主线程和其他线程??

答案 1 :(得分:2)

您应该尝试使用System.Environment.CurrentManagedThreadId(是的,您只能获取当前的线程ID) https://msdn.microsoft.com/en-us/library/system.environment.currentmanagedthreadid(v=vs.110).aspx

答案 2 :(得分:2)

我们已经详细介绍了这一点(因为我们认为这是.NET标准碎片化的一个不受欢迎的开端),并且发布了UWP / UAP 10的开源System.Threading.Thread实现,{{ 3}}和available on GitHub

我希望这会有所帮助。

答案 3 :(得分:1)

在UWP中,您应该考虑使用Windows.System.Threading namespace中的类。但是,您会注意到有一个线程池,但没有直接等效的Thread类。

请记住,UWP不允许您只创建一个线程并让它永远运行的原因。这样会使电池耗尽太容易,但也会妨碍应用程序暂停。

UWP有许多机制允许您通过使用专用线程来完成其他平台上可能解决的问题。也许如果你告诉我们为什么你认为你需要一个主题,我们可以帮你解决你的实际问题?

相关问题