[英]How to delay code being executed in C#
我正在為我的C#控制台程序編寫一個簡單的許可證系統腳本,並且試圖延遲執行代碼。
Task ShutdownTask = new Task(SilverEnvironment.PerformShutDown);
ShutdownTask.Start();
SilverEnvironment.GetGame().GetModerationTool().LogStaffEntry("SERVER", string.Empty, "Shutdown", "Invalid licence provided.");
那是我希望在定時事件中執行的代碼,而不是立即運行。 我對C#不太滿意,但是我知道一些基礎知識。
您可以使用Timer
類在一定時間后生成事件。 不要忘記禁用計時器,否則它將在相同間隔后重復該事件。
new System.Threading.Timer(new TimerCallback((obj) => {
// your code
}, null, 1000, System.Threading.Timeout.Infinite);
其中1000
是時間延遲。
此代碼以初始延遲啟動Timer
,當時間過去時, TimerCallback
將被異步調用。 Period Infinite
意味着回調將僅被調用一次。 這不會停止執行當前線程,因此,如果要停止當前線程,則最好使用Threat.Sleep
:
Thread.Sleep(1000);
// your code
在執行代碼之前添加以下內容。 每秒等待1000。
Thread.Sleep(1000);
您可以使用以下方法之一:
1)Thread.Sleep(5000); 或2)等待Task.Delay(5000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.