在UWP中,如何访问线程对象?我想更改主线程的名称和我将管理的其他线程 .
我还想检查当前线程是否是之后的主线程 .
我的目标是windows 10 mobile . 以下代码示例适用于桌面,但不适用于手机(获取'System.DllNotFoundException'):
[DllImport("kernel32.dll")] static extern IntPtr GetCurrentThread();
谢谢 .
您应该使用Tasks而不是线程 . https://msdn.microsoft.com/en-us/library/system.threading.tasks.task%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
至于重命名线程,你能告诉我为什么你需要重命名主线程和其他线程!?
你应该尝试System.Environment.CurrentManagedThreadId(是的,你只能获得当前的线程ID)https://msdn.microsoft.com/en-us/library/system.environment.currentmanagedthreadid(v=vs.110).aspx
我们已经详细介绍了这一点(因为我们认为这是.NET标准碎片化的一个不受欢迎的开始)并且已经为UWP / UAP 10,available on GitHub和via NuGet发布了一个开源的 System.Threading.Thread 实现 .
System.Threading.Thread
我希望这有帮助 .
在UWP中,您应该考虑使用Windows.System.Threading namespace中的类 . 但是,您会注意到有一个线程池,但没有直接等效的Thread类 .
请记住,为什么UWP不允许您只创建一个线程并让它永远运行 . 这样会使电池耗尽太容易,但也会妨碍应用暂停 .
UWP有许多机制允许您通过使用专用线程来完成其他平台上可能解决的问题 . 也许如果你告诉我们为什么你认为你需要一个主题,我们可以帮你解决你的实际问题?
4 回答
您应该使用Tasks而不是线程 . https://msdn.microsoft.com/en-us/library/system.threading.tasks.task%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
至于重命名线程,你能告诉我为什么你需要重命名主线程和其他线程!?
你应该尝试System.Environment.CurrentManagedThreadId(是的,你只能获得当前的线程ID)https://msdn.microsoft.com/en-us/library/system.environment.currentmanagedthreadid(v=vs.110).aspx
我们已经详细介绍了这一点(因为我们认为这是.NET标准碎片化的一个不受欢迎的开始)并且已经为UWP / UAP 10,available on GitHub和via NuGet发布了一个开源的
System.Threading.Thread
实现 .我希望这有帮助 .
在UWP中,您应该考虑使用Windows.System.Threading namespace中的类 . 但是,您会注意到有一个线程池,但没有直接等效的Thread类 .
请记住,为什么UWP不允许您只创建一个线程并让它永远运行 . 这样会使电池耗尽太容易,但也会妨碍应用暂停 .
UWP有许多机制允许您通过使用专用线程来完成其他平台上可能解决的问题 . 也许如果你告诉我们为什么你认为你需要一个主题,我们可以帮你解决你的实际问题?