等待几秒钟而不阻止 UI 执行

2023-12-09

我想在两条指令之间等待几秒钟,但不阻止执行。

例如,Thread.Sleep(2000)这不好,因为它会阻塞执行。

我的想法是,我调用一个方法,然后等待 X 秒(例如 20 秒)监听即将到来的事件。在 20 秒结束时,我应该根据 20 秒内发生的情况进行一些操作。


我认为你追求的是Task.Delay。这不会像 Sleep 那样阻塞线程,这意味着您可以使用异步编程模型使用单个线程来完成此操作。

async Task PutTaskDelay()
{
    await Task.Delay(5000);
} 

private async void btnTaskDelay_Click(object sender, EventArgs e)
{
    await PutTaskDelay();
    MessageBox.Show("I am back");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等待几秒钟而不阻止 UI 执行 的相关文章

随机推荐

  • 在多边形中生成规则间隔的点

    有没有办法使用 R 在多边形内生成规则间隔 例如 相距 500 米 的点 我一直在尝试使用 sp 包 但似乎无法定义一组彼此间隔一定距离的点 我的目标是生成点 然后将它们的纬度 经度坐标提取到新的数据框中 任何帮助将非常感激 谢谢 非常直接
  • 尝试将大量数据加载到我的应用程序时应用程序崩溃

    我正在尝试加载一个JSON40 000 多条记录存入我的Realm Database 这是我的功能 AFJSONRequestOperation operation AFJSONRequestOperation alloc init AFJ
  • 在 catch 块中等待

    我有以下代码 WebClient wc new WebClient string result try result await wc DownloadStringTaskAsync new Uri http badurl catch re
  • css半边框圆,上面有透明形状

    我需要一个从底部开始有半边框的圆圈 我想按百分比用颜色填充这个圆圈 我需要在上面放另一个圆圈 但另一个圆圈的中心有一个透明的形状 首先 我需要一个带有半边框的圆圈 然后在其上放另一个具有透明形状的圆圈 有没有更简单的方法 例如使用画布 Wh
  • 我可以在独立项目中使用 android.os.* 库吗?

    我正在尝试开发一个外部库 不确定这是否是正确的术语 来在 Android 项目中提供预打包的功能 在 Eclipse 中工作 我已将适当的 android jar 文件添加到构建路径中 并且在编辑和编译时一切都很顺利 但是 当我使用 And
  • 是否可以通过 nightwatch.js 设置元素的 Style 属性值?如果是的话怎么办?

    我正在使用 nightwatch js 我对这个自动化测试还很陌生 我想通过 nightwatch js 将值设置到元素的 style 属性中 所以我问 这可能吗 如果可能的话我们如何实现它 我可以访问样式属性值 并可以通过以下 night
  • 全局节点模块安装不正确。找不到命令

    我在安装全局节点模块时遇到问题 我在网上找到的所有内容都说解决方法只是添加 g 这不是问题 我认为这是链接问题或错误的目录问题 这是我所做的 npm install g express npm http GET https registry
  • 单行无限分离循环的语法

    我可以像这样无限循环地运行一些东西 while true do foo done 我可以像这样运行一些独立的东西 foo 但我不能像这样在无限循环中运行分离的东西 while true do foo done bash syntax err
  • 通过远程 java 独立应用程序使用 EJB 3.1 bean

    我一直在尝试使用 Java EE 6 创建一个基于应用程序服务器的应用程序 该应用程序从 GWT Web 应用程序接收作业对象 并且这些作业将从 Java 独立应用程序中提取 我一直认为 EJB 模型将为我提供一种简单的远程处理方法 因为我
  • 如何在 Spring-Batch 中使用 ItemReader 跳行?

    我有一个自定义项目阅读器 可以将文本文件中的行转换为我的实体 public class EntityItemReader extends AbstractItemStreamItemReader
  • RegEx 字符串,12 个符号(至少 1 个数字和至少 1 个字母)

    我在使用正则表达式时遇到问题 如何获取至少包含 1 个数字和 1 个字母的字符串的 12 个符号长部分 例子 这有 12 个符号长 F8ENL83I0E12也许还有更多文字 要在较长的文本中查找长度为 12 的字母数字单词 请使用 i Ca
  • 如何快速编写这段代码?

    我用 Objective c 编写了这段代码 NSRect textRect NSMakeRect 42 35 117 55 NSString textContent Hello World NSMutableParagraphStyle
  • AVAudioPlayer 在模拟器上工作但在真实设备上不工作

    当我播放录制的音频时 出现此错误 致命错误 在解包可选值时意外发现 nil 在这行代码上 SoundPlayer try AVAudioPlayer contentsOfURL getFileURL 但它在除真实设备之外的模拟器上运行良好
  • Rails 表单提交与远程 => true -- js 文件渲染但不执行

    有一个类似的问题here and here但都没有我正在寻找的答案 我也做了很多搜索 rails format js render 但无法解决这个问题 在 Rails 4 中 我有一个经过验证的表单 如下所示 don t want to c
  • 模拟 ScheduledExecutorService 与“不要模拟您不拥有的类型”哲学

    Mocking 预定执行服务确实会让测试我的课程变得更容易 但根据模拟推荐这似乎是一个坏主意 因为模拟类的逻辑可能会以错误的方式使用 但单元测试仍然会报告成功 似乎为它编写一个包装器是 干净 的方式 但我有一种感觉 这只会导致接口的完全重复
  • Python3 在同一行上打印 - 7 段设备格式的数字

    我是 Python 新手 很难将输出打印在一行上 这与在线 Python 课程 Learning Python Essentials Lab 5 1 10 6 和打印到 7 段设备有关 如果您不熟悉 7 段设备 请参阅维基百科 我没有使用任
  • 是否可以将搜索过滤器/框添加到树视图组件中?

    我正在制作扩展 我很好奇是否可以向树组件添加搜索过滤器 框 我目前正在用 javascript 编码扩展 但我不确定它是否可能 这就是我想在树视图顶部添加的内容 它将在 v1 70 中内置到 vscode 中 它在我为垂直选项卡组编写的树视
  • 使用 Linq 表达式和反射获取属性值的通用方法

    亲爱的反思之神 我想要一个通用的GetValue
  • 正则表达式 match() 无法捕获 python 中的简单模式

    我正在尝试在 Python 中使用一些简单的正则表达式函数 我正在使用正则表达式来捕获阿拉伯字母表中的模式 但在最简单的情况下 当人们在模式的开头添加几个字母时 无论是否有连字 它似乎都不起作用 gt gt gt p re compile
  • 等待几秒钟而不阻止 UI 执行

    我想在两条指令之间等待几秒钟 但不阻止执行 例如 Thread Sleep 2000 这不好 因为它会阻塞执行 我的想法是 我调用一个方法 然后等待 X 秒 例如 20 秒 监听即将到来的事件 在 20 秒结束时 我应该根据 20 秒内发生