Sobes.tech
Junior — Middle

Կարող եք բացատրել չեղարկման նշանի կոնցեպտը բազմապատկման ծրագրավորման համատեքստում?

sobes.tech AI

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

Բացասման նշան (Cancellation Token) բազմատիրույթ ծրագրավորման մեջ այն օբյեկտն է, որը օգտագործվում է ասինխրոն կամ պառալելային գործողությունների չեղարկումը համակարգելու համար:

Հիմնական գաղափարը՝ մի թել (կամ կոմպոնենտ) կարող է խնդրել գործողության չեղարկում, իսկ մյուսները, որոնք իրականացնում են այդ գործողությունը, կարող են ժամանակ առ ժամանակ ստուգել նշանի վիճակը և ճիշտ ավարտել, եթե չեղարկումը խնդրվի:

C#-ում դա իրականացնում է CancellationToken և CancellationTokenSource դասարանների միջոցով:

  • CancellationTokenSource ստեղծում է նշան և կարող է ազդանշան տալ չեղարկման մասին:
  • CancellationToken փոխանցվում է առաջադրանքներին կամ մեթոդներին, որոնք կարող են ստուգել IsCancellationRequested և արձագանքել չեղարկմանը:

Օրինակ:

var cts = new CancellationTokenSource();
var token = cts.Token;

Task.Run(() => {
    while (!token.IsCancellationRequested)
    {
        // Աշխատանք կատարել
    }
    // Թեթևացում և ավարտ
}, token);

// Որոշ տեղում կանչում ենք չեղարկում
cts.Cancel();

Այսպիսով, ապահով և վերահսկվող կերպով կարելի է ընդհատել երկարատև կամ ֆոնային գործողությունները։