首页 > 编程语言 >使用c#在指定的时间内等待函数执行结果

使用c#在指定的时间内等待函数执行结果

时间:2023-10-30 16:02:42浏览次数:39  
标签:返回 函数 c# 等待 指定 WaitSomething bool true

在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了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;
});

标签:返回,函数,c#,等待,指定,WaitSomething,bool,true
From: https://blog.51cto.com/u_12828212/8090783

相关文章

  • c#十六进制字符转十进制
    十六进制字符串:由0-9和A-F组成的字符串,表示十六进制数。十进制数:由0-9组成的数字,表示十进制数。///<summary>///十六进制字符串转十进制///</summary>///<paramname="str">十六进制字符</param>///<returns></returns>staticintTo16Convert10(stringstr)......
  • Kill detached screen session
    Listscreens:screen-listOutput:Thereisascreenon:23536.pts-0.wdzee(10/04/201208:40:45AM)(Detached)1Socketin/var/run/screen/S-root.Killscreensession:screen-S23536-Xquit......
  • opencv 4.8.1 wsam 构建&问题说明
    opencv-wasm使用的opencv版本是4.3的,为了使用最新版本的,所以自己基于opencv-wasm提供的脚本构建了一个,同时记录下一些问题以及解决方法构建脚本修改原始使用的是4.3.0版本的,直接修改分支就可以了 gitclone--branch4.8.1--depth1https://github.com/open......
  • PostgreSQL(kingbaseES) 中,可以使用 unnest 函数将一个包含多个值的字符串分割成多行
    在PostgreSQL中,您可以使用unnest函数将一个包含多个值的字符串分割成多行。unnest函数将一个数组(或者像我们的情况下是由STRING_TO_ARRAY函数生成的数组)展开为多行数据。假设您有一个表my_table,其中包含一个名为my_column的字符串列,其内容如下:my_column-----------......
  • Collections
     ArrayList相关Collections.synchronizedList(newArrayList<>())publicclassArrayList<E>extendsAbstractList<E>implementsList<E>,RandomAccess,Cloneable,java.io.Serializable{}publicclassCollections{......
  • MIGO Runtime Errors MESSAGE_TYPE_X program SAPLCKM4 in PERIODENART_BESTIMMEN
    用户在测试环境执行MIGO,系统dump检查系统后,发现是物料账期错误 修改账期,系统正常 ......
  • .Net Core中读取json配置文件
    1、编写实例化类。新建可供实例化的配置类JwtConfig///<summary>///Jwt的配置类///</summary>publicclassJwtConfig{///<summary>///定位///</summary>publicconststringPosition="Jwt";///<summary>///验证......
  • JavaScript数据类型的转换
    一、字符串类型的转换1、自动转换<script>varstr='hello';varnum=100;console.log(str+num);console.log(typeof(str+num));</script>2、强制转换String(),object.toString()<script>//string()var......
  • 使用c#在指定的时间内等待函数执行结果
    在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了true,则表示等待成功,返回true;如果超过等待时间仍未返回true,则表示等待失败,返回false。......
  • Before You Install Flask...Watch This! Flask Fridays #1
    flask官网:https://flask.github.net.cn/ git官网:https://git-scm.com/ 建立文件: 建立虚拟环境、激活: sourcevirt/Scripts/activate建立文件: touchhello.py以项目方式打开: fromflaskimportFlask,render_template#创建一个flask实例app=Flask(_......