using System.Threading.Tasks;
namespace ConsoleApplication
static async Task TestAsync()
var ct = new CancellationTokenSource(millisecondsDelay: 1000);
var task1 = Task.Run(() =>
token.ThrowIfCancellationRequested();
var task2 = Task.Run(() =>
for (var i = 0; i < 1000; i++)
token.ThrowIfCancellationRequested();
Console.WriteLine(new { task = "task1", ex.Message, task1.Status });
Console.WriteLine(new { task = "task2", ex.Message, task2.Status });
public static void Main(string[] args)
Console.WriteLine("Enter to exit...");