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();
Ин имкон медиҳад, ки амалҳои дарозмуддат ё пасзаминаи бехатар ва назоратшаванда қатъ карда шаванд.