Junior — Middle
Ինչ մեթոդներով կարելի է չեղարկել համակարգում առաջադրանքի կատարմանը?
sobes.tech AI
Պատասխան AI-ից
C# լեզվում սովորաբար օգտագործվում է CancellationToken մեխանիզմը՝ Task-ի (գործառույթի) կատարմանը չեղարկելու համար։ Հիմնական չեղարկման մեթոդները՝
- CancellationTokenSource — ստեղծում է չեղարկման նշանակետ։
- CancellationToken-ը փոխանցել Task կամ ասինխրոն մեթոդին։
- Task-ի ներսում պարբերաբար ստուգել
token.IsCancellationRequestedհատկությունը կամ կանչելtoken.ThrowIfCancellationRequested()։ - Կանչել
CancellationTokenSource.Cancel()՝ չեղարկման համար։
Օրինակ՝
var cts = new CancellationTokenSource();
var token = cts.Token;
var task = Task.Run(() => {
for (int i = 0; i < 100; i++) {
token.ThrowIfCancellationRequested();
// աշխատանք
Thread.Sleep(100);
}
}, token);
// Task-ի չեղարկում
cts.Cancel();
try {
task.Wait();
} catch (AggregateException ex) {
if (ex.InnerExceptions.Any(e => e is OperationCanceledException)) {
Console.WriteLine("Task-ը չեղարկվեց");
}
}
Այսպիսով, չեղարկումը՝ դա համագործակցային գործընթաց է, որտեղ Task-ը ինքն է պետք պահպանի չեղարկման նշանակի ստուգումը։