在UWP中,如何访问线程对象?我想更改主线程的名称和我将管理的其他线程。
我还想检查当前线程是否是之后的主线程。
我定位到Windows 10移动版。以下代码示例适用于桌面,但不适用于手机(获取' System.DllNotFoundException'):
[DllImport("kernel32.dll")]
static extern IntPtr GetCurrentThread();
感谢。
答案 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有许多机制允许您通过使用专用线程来完成其他平台上可能解决的问题。也许如果你告诉我们为什么你认为你需要一个主题,我们可以帮你解决你的实际问题?