System.Threading.Thread UWP 替换 / Windows 10 移动

System.Threading.Thread replacement in UWP / Windows 10 mobile

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

后面我也想看看当前线程是不是主线程

我的目标是 windows 10 手机。以下代码示例适用于桌面,但不适用于 phone(获取 'System.DllNotFoundException'):

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

谢谢。

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

关于线程的重命名,请问为什么要重命名主线程和其他线程!?

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

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

UWP 有许多机制允许您执行在其他平台上使用专用线程可能会解决的各种事情。也许如果您告诉我们为什么您认为您需要一个线程,我们可以帮助您解决您的实际问题?

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

我们已经在博客上详细介绍了这一点(因为我们认为这是 .NET Standard 碎片化的一个不受欢迎的开始)并发布了 System.Threading.Thread UWP/UAP 10 的开源实现, available on GitHub and via NuGet.

希望对您有所帮助。