直接问线程 同步异步就行了 很快就能分辨出培训班的
<code>
CancellationTokenSource cts = new CancellationTokenSource();
Task task1 =
Task.Run(async () =>
{
for (int i = 0; i < 3; i++)
{
if (cts.Token.IsCancellationRequested)
{
Console.WriteLine("Task 1 was cancelled before iteration {0}.", i);
break;
}
Console.WriteLine("Task 1 - iteration {0}", i);
await Task.Delay(1000);
}
Console.WriteLine("Task 1 complete");
}, cts.Token);
Task task2 =
Task.Run(() =>
{
Thread.Sleep(2500); // Simulate some work
cts.Cancel();
Console.WriteLine("Task 2 complete");
});
Task.WhenAny(task1, task2);
Console.WriteLine("First task completed.");
await Task.WhenAll(task1, task2);
Console.WriteLine("Both tasks completed.");
</code>