【问题标题】:Delay execution of a method using Thread in c#在c#中使用线程延迟执行方法
【发布时间】:2017-07-25 23:44:05
【问题描述】:

我需要使用 Thread 将方法的执行延迟几秒钟。

但是当我使用Thread.Sleep(1000); 时,它会阻止 UI 执行。

有人建议我使用Task.Delay(1000).Wait();。但它在框架 4.0 中不起作用。 我可以使用定时器来做到这一点。但我需要使用 Thread 来实现。

由于我是新手,我无法理解类似问题中提供的答案。

谁能告诉我如何在不阻塞 UI 的情况下实现方法的延迟执行。

提前致谢。

【问题讨论】:

  • “我可以使用定时器来做到这一点。但我需要使用线程来实现” - 定时器回调有什么问题?为什么要创建单独的线程?
  • 为什么定时器对你不起作用?更多信息会更好 - 什么样的应用程序(我假设是 winforms 或 wpf 桌面?)
  • 每次按键都会调用我需要延迟的方法。这就像从列表中搜索一个名字。
  • @MohanramAnbukkarasu:嗯,最好问问上级他的要求。正如它所说,它看起来很奇怪。根据您的 cmets,您需要的是计时器。
  • 感谢您的建议。@Dennis

标签: c# multithreading .net-4.0


【解决方案1】:

您需要等待任务以避免阻塞 ui 线程。

await Task.Delay(1000)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多