Sobes.tech
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();

Бул узак мөөнөттүү же фондук операцияларды коопсуз жана көзөмөлдөп токтотууга мүмкүндүк берет.