📅  最后修改于: 2023-12-03 14:39:42.249000             🧑  作者: Mango
在C#中,为了实现简单的暂停线程,可以使用Thread.Sleep
函数。该函数接受一个整数参数,代表线程暂停的时间(毫秒)。例如,下面的代码会暂停当前线程 1 分钟:
using System.Threading;
Thread.Sleep(60000);
注意,该函数会使线程完全暂停,不会执行任何代码,直到指定的时间过去。因此,如果在 GUI 应用程序中使用该函数,可能会导致界面冻结。如果需要在后台线程中执行任务,并在任务完成后通知 UI 线程更新 UI,建议使用异步编程模型(例如 async/await)。
除了Thread.Sleep
,还有其他类似的函数可以实现暂停线程,例如Task.Delay
:
using System.Threading.Tasks;
await Task.Delay(60000);
该函数返回一个 Task 对象,可以在异步代码中使用。和Thread.Sleep
不同,Task.Delay
并不实际暂停线程,而是暂停当前 Task 执行,并安排在指定时间后恢复执行。如果当前 Task 已经完成,Task.Delay
会立即返回一个已完成的 Task 对象。
总之,C# 中实现延迟执行的方法有很多种,具体使用哪种方法取决于实际需求。在编写代码时,务必要考虑到代码执行时间和用户体验,避免出现界面卡顿等问题。