获取线程 ID 并终止线程

Get thread id and terminate thread

我有一个异步方法可以同时 运行 多次。此方法执行对服务器的调用,因此需要一些时间才能完成。我希望每次调用此方法的实例时都停止执行 运行 相同的方法。我正在考虑创建一个线程 ID 列表,每次调用该方法时,为执行该方法的旧实例而创建的线程将被终止。

所以我正在寻找的是一种获取特定方法 运行ning 来自的当前线程 ID 的方法,以及使用其 ID 终止线程的方法。

PS。我已经检查了所有关于查找线程 ID 等的帖子,但是 none 这些在 UWP 中工作。

UWP 中,您无法控制线程。但是您当然可以控制任务,例如,如果需要,可以使用 with CancellationToken:

取消它
CancellationTokenSource tokenSource = new CancellationTokenSource();
await Task.Run(() =>
{
    // your job here
}, tokenSource.Token);

// then if you want to cancel the job use tokenSource:
tokenSource.Cancel();

请注意,这只是将 CancellationTokenTask.Run 一起使用的简单示例,但大多数异步方法都使用这些令牌,甚至您可以将它们转换为将使用一个的任务。

有关任务取消的更多信息,您会发现 at MSDN, Stephen Cleary's blog 等等。