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

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

时间:2023-10-30 15:37:04浏览次数:33  
标签:返回 函数 c# 等待 指定 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#,等待,指定,bool,执行,true
From: https://www.cnblogs.com/ouyangkai/p/17797969.html

相关文章

  • 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(_......
  • vue3 + vite 的Excel表格的导入导出
    一、安装XLSX插件yarnaddxlsx或者npmixlsx二、引入插件在你需要的页面或者在main.js中引入import*asXLSXfrom'xlsx'三、导出Excel3.1核心api①xlsx.utils.book_new() 新建工作簿② xlsx.uti......
  • 无涯教程-C语言 - 条件判断
    下面显示的是大多数编程语言中常见的典型决策结构的一般形式-C编程语言将任何非零和非空值假定为true,并且如果其值为零或null,则假定为false值Sr.No.Statement&描述1ifstatementif语句由布尔表达式和一个或多个语句组成。2if...elsestatement在if语句之后可......
  • c#实现文件压缩的方法
    //实现一个压缩文件的方法publicstaticvoidCompressFile(stringsourceFilePath,stringzipFilePath){//如果文件没有找到,则报错if(!File.Exists(sourceFilePath)){thrownewFileNotFoundException(sourceFilePath+"文件不存在!");}//......
  • HDFS写流程分析:Namenode接收client请求
    1.背景在https://blog.51cto.com/u_15327484/8023493文章中,介绍了HDFS创建文件时,客户端执行的操作。对于NameNode而言,在创建文件的过程中,它会接受客户端以下rpc请求:createaddBlockcomplete本文将详细介绍这三个RPC在NameNode端的处理流程,同时扩展介绍Namenode相关架构。2.......
  • 当java文件被加密时候,通过.class文件查看代码
    使用jadx-gui.exe工具,或者jd-gui.exe工具查看  ......
  • 运用chatGPT生成E-R图的prompt
     根据以上内容,让我们定义用例让我们为用例定义一个数据模型   更详细地描述数据模型或使用Markdown的表格格式这种模型可以根据具体的用例进行扩展和修改,以满足需求分析和设计过程中的实际需要。 为所有的数据模型定义关系,实体关系图输出为PlantUML 将带......
  • 发掘影像之魅:ON1 Effects 2023——您的mac照片纹理滤镜处理专家
    在照片后期处理的世界里,一款得心应手的工具往往能赋予照片无尽的可能。ON1Effects2023,这款专为mac用户打造的照片纹理滤镜处理软件,以其强大的功能和高效性能,将帮助您深度挖掘照片的潜在魅力。→→↓↓载ON1Effects2023macON1Effects2023为您提供了丰富多样的滤镜库,从经......
  • [Leetcode] 0832. 翻转图像
    832.翻转图像题目描述给定一个 nxn 的二进制矩阵 image ,先水平翻转图像,然后 反转 图像并返回 结果 。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1,1,0] 的结果是 [0,1,1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被......
  • GC都有哪些?
    title:GC都有哪些?tags:[JVM,GC]author:Mingshancategories:[JVM,GC]date:2020-03-11相信把Java当做生产力工具的同学肯定对gc比较熟悉的,JVM团队在这块下了很多的功夫创造了很多垃圾收集器,不过有些垃圾收集器随着技术的发展被淘汰了,有些是最新开发的,技术很先进,效果很......