SORU
9 EKİM 2008, PERŞEMBE


Nasıl bir C için bir zamanlayıcı eklemek musun# konsol uygulaması

Bu Nasıl bir çekim eklerim bir C# konsol uygulaması mı? Eğer bazı örnek kodlama tedarik edebilirsen çok iyi olur.

CEVAP
9 EKİM 2008, PERŞEMBE


Sistemi kullanın.İş parçacığı.Timer sınıfı.

Sistem.Windows.Formlar.Zamanlayıcı öncelikle Windows UI iş parçacığı Formları tek bir iş parçacığı genellikle kullanım için tasarlanmıştır.

Ayrıca bir Sistem var.Zamanlayıcılar sınıf erken gelişiminde ekledi .NET çerçeve. Ancak genel olarak Sistemi kullanmak için tavsiye edilir.İş parçacığı.Timer sınıfı, bu Sistemi etrafında sarıcı olarak yerine.İş parçacığı.Zamanlayıcı zaten.

Ayrıca her zaman (VB.NET paylaşılan) statik bir Sistem kullanılması tavsiye edilir.İş parçacığı.Eğer zamanlayıcı bir Windows Servisi gelişiyor ve bir zamanlayıcı periyodik olarak çalıştırmak için gerekli. Bu timer nesnesinin muhtemelen erken çöp toplama kaçının.

Burada bir konsol uygulaması: bir zamanlayıcı bir örnek

using System; 
using System.Threading; 
public static class Program 
{ 
    public static void Main() 
    { 
       Console.WriteLine("Main thread: starting a timer"); 
       Timer t = new Timer(ComputeBoundOp, 5, 0, 2000); 
       Console.WriteLine("Main thread: Doing other work here...");
       Thread.Sleep(10000); // Simulating other work (10 seconds)
       t.Dispose(); // Cancel the timer now
    }
    // This method's signature must match the TimerCallback delegate
    private static void ComputeBoundOp(Object state) 
    { 
       // This method is executed by a thread pool thread 
       Console.WriteLine("In ComputeBoundOp: state={0}", state); 
       Thread.Sleep(1000); // Simulates other work (1 second)
       // When this method returns, the thread goes back 
       // to the pool and waits for another task 
    }
}

Jeff Richter tarafından kitap CLR Via C#. Bu kitap ile anlatılmaktadır Bölümde zamanlayıcılar 3 türleri ardında, 23, şiddetle tavsiye.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014