使用c#在指定的时间内等待函数执行结果
  PIGub5wnqDVH 2023年11月02日 33 0

在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了true,则表示等待成功,返回true;如果超过等待时间仍未返回true,则表示等待失败,返回false。

/// <summary>
/// 在指定的时间内等待某个函数的执行结果,并返回一个布尔值表示是否等待成功,
/// 调用 bool result = WaitSomething(5000, 1000, () =>{})
/// </summary>
/// <param name="timeout">表示等待的最大时间,以毫秒为单位</param>
/// <param name="freq">表示等待的频率,即每隔多少毫秒检查一次函数的执行结果</param>
/// <param name="func">表示要等待的函数,它是一个返回布尔值的委托</param>
/// <returns></returns>
public static bool WaitSomething(int timeout, int freq, Func < bool > func)
{
    for(int index = 0; index < timeout; index += freq)
    {
        if(func()) return true;
        Thread.Sleep(freq);
    }
    return false;
}

使用示例

bool result = WaitSomething(5000, 1000, () =>
{
    // 执行一些操作,返回一个布尔值
    return true;
});
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
PIGub5wnqDVH