Junior — Middle
Көп агымдуу программалоо контекстинде токенди жокко чыгуу түшүнүгүн түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Киргиз тилинде (Cancellation Token) көп иштөөдө көптөгөн ишти токтотуу (Cancellation Token) — бул асинхрондуу же параллелдик операцияларды координациялоо үчүн колдонулган объект.
Негизги идея: бир жип (же компонент) операцияны токтотууну суранышы мүмкүн, жана аны аткарып жаткан башка жактар токендин абалын мезгил-мезгили менен текшерип, токтотуу сураныч берилсе, туура аяктоо мүмкүнчүлүгүнө ээ болот.
C#да бул CancellationToken жана CancellationTokenSource класстары аркылуу ишке ашырылат:
CancellationTokenSourceтокен түзүп, аны токтотуу сигналын бере алат.CancellationTokenтапшырмаларга же методдорго берилет, аларIsCancellationRequestedтекшерип, токтотууга жооп кайтара алат.
Мисал:
var cts = new CancellationTokenSource();
var token = cts.Token;
Task.Run(() => {
while (!token.IsCancellationRequested)
{
// ишти аткаруу
}
// тазалоо жана аяктоо
}, token);
// кээ бир жерден токтотууну суранабыз
cts.Cancel();
Бул узак мөөнөттүү же фондук операцияларды коопсуз жана көзөмөлдөп токтотууга мүмкүндүк берет.