6 Mayıs 2016 Cuma

CancellationToken Sınıfı

Giriş
Şu satırı dahil ederiz.
using System.Threading;
Constructor
Şöyle yaparız.
var tokenSource = new CancellationTokenSource();
CancellationToken token = tokenSource.Token;
IsCancellationRequested Alanı
Şöyle yaparız
var cts = new CancellationTokenSource(3000); // Set timeout

Task.Run(() =>
{
    while (!cts.Token.IsCancellationRequested)
    {
        // Doing Work...
    }

}, cts.Token);
None Alanı
Şöyle yaparız.
CancellationToken.None
ThrowIfCancellationRequested metodu
Şöyle yaparız.
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Task myTask = Task.Factory.StartNew(() =>
{
  for (int i = 0; i < 2000; i++)
  {
    token.ThrowIfCancellationRequested();
    // Body of for loop.
   }
}, token);

//Do sometohing else 
//if cancel needed
cts.Cancel();

Hiç yorum yok:

Yorum Gönder