如何在 C# .NET Core 3.1 中延迟某个任务
How to delay a certain task in c# .NET core 3.1
注意:我是编码菜鸟。
我正在尝试在我的应用程序 运行 中完成某项任务(例如)我希望 Console.WriteLine("Hello delay");
到 运行 180 秒后 Console.WriteLine("Hello World!");
是 运行,我该怎么做?
我还没有尝试过其他任何东西。
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");
}
}
}
像这样:
static async void Main(string[] args)
{
Console.WriteLine("Hello World!");
await Task.Run(() =>
{
Thread.Sleep(1000);
Console.WriteLine("Hello delay");
});
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");
}
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);
注意:我是编码菜鸟。
我正在尝试在我的应用程序 运行 中完成某项任务(例如)我希望 Console.WriteLine("Hello delay");
到 运行 180 秒后 Console.WriteLine("Hello World!");
是 运行,我该怎么做?
我还没有尝试过其他任何东西。
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");
}
}
}
像这样:
static async void Main(string[] args)
{
Console.WriteLine("Hello World!");
await Task.Run(() =>
{
Thread.Sleep(1000);
Console.WriteLine("Hello delay");
});
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");
}
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);