laatzen/Common/CommonConsole/Program.cs
2023-12-11 12:39:56 +01:00

45 lines
1.0 KiB
C#

using System;
using System.Threading;
using System.Threading.Tasks;
namespace CommonConsole
{
public class Program
{
public static void Main()
{
var cancelationTokenSource = new CancellationTokenSource();
var cancelationToken = cancelationTokenSource.Token;
var manualResetEventSlim = new ManualResetEventSlim();
void LongRunningTask()
{
Console.WriteLine("started");
manualResetEventSlim.Wait(3000, cancelationToken);
Console.WriteLine("stoped");
}
Task.Factory.StartNew(LongRunningTask);
while (true)
{
var consoleKey = Console.ReadKey().Key;
if (consoleKey == ConsoleKey.X)
{
cancelationTokenSource.Cancel();
}
else if (consoleKey == ConsoleKey.C)
{
break;
}
Console.WriteLine();
}
}
}
}