我想在当前线程上执行第 3 方函数(以避免开销),但希望能够随时使用CancellationToken来中断该函数。
这就是我创建和运行任务的方式:
var task = new Task(proc, cts.Token); // cts is my CancellationTokenSource
task.RunSynchronously();
在cts.Cancel()
(在单独的线程上)被调用后,任务不会停止。
我在 F# 中找到了一个可以解决问题的静态函数:
Async.RunSynchronously(computation, timeout, cancellationToken)
我确信应该有一个简单的 C# 解决方案,你能帮我吗?