gpt4 book ai didi

c# - 如何在 .NET 4.0 中请求超时或取消之前为 "sleep"

转载 作者:IT王子 更新时间:2023-10-29 03:49:17 26 4
gpt4 key购买 nike

休眠一定时间但能够被来自 CancellationTokenIsCancellationRequested 打断的最佳方法是什么?

我正在寻找适用于 .NET 4.0 的解决方案。

我想写

void MyFunc (CancellationToken ct)
{
//...
// simulate some long lasting operation that should be cancelable
Thread.Sleep(TimeSpan.FromMilliseconds(10000), ct);
}

最佳答案

我刚刚在这里写了博客:

CancellationToken and Thread.Sleep

简而言之:

var cancelled = token.WaitHandle.WaitOne(TimeSpan.FromSeconds(5));

在您的上下文中:

void MyFunc (CancellationToken ct)
{
//...
// simulate some long lasting operation that should be cancelable
var cancelled = ct.WaitHandle.WaitOne(TimeSpan.FromSeconds(10));
}

关于c# - 如何在 .NET 4.0 中请求超时或取消之前为 "sleep",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18715099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com