CancellationToken – bu asinxron yoki ko‘p oqimli (multithreaded) dasturda biror jarayonni foydalanuvchi xohishiga ko‘ra bekor qilish uchun ishlatiladi.
- Fayl yuklash yoki og‘ir hisoblash vazifalarini to‘xtatish.
- Serverga yuborilgan so‘rovni bekor qilish.
- Har qanday uzoq davom etadigan ish jarayonlarini nazorat qilish.
var cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Task key = Task.Run(() =>
{
Console.ReadKey();
cts.Cancel();
});
Console.WriteLine("Dastur ishga tushdi");
bool result = await IshBajarilmoqda(token);
Console.WriteLine("Ish tugatildi");
static async Task<bool> IshBajarilmoqda(CancellationToken token)
{
int i = 1;
while (true)
{
if (token.IsCancellationRequested)
{
return false;
}
Console.WriteLine($"{i++} - ish davom etmoqda");
await Task.Delay(1000);
}
}