Sobes.tech
Junior — Middle

Çok iş parçacıklı programlama bağlamında iptal tokeni kavramını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Çok iş parçacıklı programlamada İptal İşareti (Cancellation Token), asenkron veya paralel işlemlerin iptalini koordine etmek için kullanılan bir nesnedir.

Ana fikir: bir iş parçacığı (veya bileşen), bir işlemin iptal edilmesini isteyebilir ve işlemi gerçekleştiren diğerleri, token'ın durumunu periyodik olarak kontrol edebilir ve iptal talep edilirse düzgün bir şekilde sonlandırabilir.

C#'ta bu, CancellationToken ve CancellationTokenSource sınıfları aracılığıyla uygulanır:

  • CancellationTokenSource, bir token oluşturur ve iptali sinyalize edebilir.
  • CancellationToken, görevler veya metodlara iletilir ve IsCancellationRequested kontrol edilerek iptale tepki verilebilir.

Örnek:

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

Task.Run(() => {
    while (!token.IsCancellationRequested)
    {
        // İş yapma
    }
    // Temizlik ve sonlandırma
}, token);

// Kodun herhangi bir yerinde iptal isteyebilirsiniz
cts.Cancel();

Bu, uzun süren veya arka plan işlemlerinin güvenli ve kontrollü bir şekilde iptal edilmesini sağlar.