Sobes.tech
Junior — Middle

Ինչ մեթոդներով կարելի է չեղարկել համակարգում առաջադրանքի կատարմանը?

sobes.tech AI

Պատասխան AI-ից

C# լեզվում սովորաբար օգտագործվում է CancellationToken մեխանիզմը՝ Task-ի (գործառույթի) կատարմանը չեղարկելու համար։ Հիմնական չեղարկման մեթոդները՝

  1. CancellationTokenSource — ստեղծում է չեղարկման նշանակետ։
  2. CancellationToken-ը փոխանցել Task կամ ասինխրոն մեթոդին։
  3. Task-ի ներսում պարբերաբար ստուգել token.IsCancellationRequested հատկությունը կամ կանչել token.ThrowIfCancellationRequested()։
  4. Կանչել 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-ը ինքն է պետք պահպանի չեղարկման նշանակի ստուգումը։