SORU
24 Ocak 2011, PAZARTESİ


Nasıl iptal/VUK Görevler iptal edebilirim?

Bir iş parçacığı, System.Threading.Task bazı oluşturmak ve her görev başlar.

İplik öldürmek .Abort() ben ne zaman, görevleri iptal değil.

Nasıl benim görevler için .Abort() iletebilir miyim ?

CEVAP
24 Ocak 2011, PAZARTESİ


Edemezsin. Görevleri iş parçacığı havuzu iş parçacığı arka plan kullanın. Ayrıca iş parçacığı İptal yöntemini kullanarak iptal etmek tavsiye edilir. İptal görevlerin uygun bir şekilde açıklıyor following blog post bir göz iptal belirtecini kullanarak alabilirsiniz. İşte size bir örnek:

class Program
{
    static void Main()
    {
        var ts = new CancellationTokenSource();
        CancellationToken ct = ts.Token;
        Task.Factory.StartNew(() =>
        {
            while (true)
            {
                // do some heavy work here
                Thread.Sleep(100);
                if (ct.IsCancellationRequested)
                {
                    // another thread decided to cancel
                    Console.WriteLine("task canceled");
                    break;
                }
            }
        }, ct);

        // Simulate waiting 3s for the task to complete
        Thread.Sleep(3000);

        // Can't wait anymore => cancel this task 
        ts.Cancel();
        Console.ReadLine();
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • joshsnice

    joshsnice

    28 Kasım 2006