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();
Այսպիսով, ապահով և վերահսկվող կերպով կարելի է ընդհատել երկարատև կամ ֆոնային գործողությունները։