注意:我不擅长编码。
我正试图让应用程序中的某个任务在一定时间后运行——例如,我希望Console.WriteLine("Hello delay");
在Console.WriteLine("Hello World!");
运行180秒后运行,我该如何做到这一点?
我还没有尝试过其他任何东西。
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// I want (Console.WriteLine("Hello delay");) to run
// 180 seconds after (Console.WriteLine("Hello World!");) is run
Console.WriteLine("Hello delay");
}
}
}
您可以休眠当前线程。
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Thread.Sleep(180 * 1000);
Console.WriteLine("Hello delay");
}
}
}
使用Task.Run((运行任务并等待其完成。
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var numSecondsDelay = 180;
var t = Task.Run(async delegate
{
await Task.Delay(numSecondsDelay*1000);
return numSecondsDelay;
});
t.Wait();
Console.WriteLine("Hello delay");
}
如下:
static async void Main(string[] args)
{
Console.WriteLine("Hello World!");
await Task.Run(() =>
{
Thread.Sleep(1000);
Console.WriteLine("Hello delay");
});
Console.WriteLine("Hello delay");
}
using System;
using System.Threading; // add this
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Thread.Sleep(180000); // add this
Console.WriteLine("Hello delay");
}
}
}
您可以使用以下代码将处理延迟180秒。
System.Threading.Thread.Sleep(180 * 1000);