2010-04-18 22 views
7

Herkesin aynı anda farklı iş yapacak nerede yumurtlamak iplik açıklayan bir örnek veya herhangi bir bağlantı verebilir misiniz.C# içinde iplik yumurtlamaya nasıl #

Farz edin ki iş1 ve işim var2. Her iki işi de aynı anda çalıştırmak istiyorum. Paralel olarak işlenecek işlere ihtiyacım var. bunu nasıl yapabilirim?

cevap

14

Eh, temelde bu kadar basit.

Oldukça eski ve Joe Alabahari has one too olan bir threading tutorial sahibim.

+0

Farz edin ki iş1 ve işim var2. Her iki işi de aynı anda çalıştırmak istiyorum. Örneğiniz bunu sırayla yapacak. Ama bu işlere paralel olarak idam edilmesine ihtiyacım var. bunu nasıl yapabilirim ? – deepak

+0

@deepak: Hayır yapmayacaksınız - iki iş parçacığı başlatıyorsunuz ve paralel olarak çalışacaklar. İplik kullanmanın bütün amacı budur. –

+0

@JonSkeet Aranmak istediğim yönteme parametreleri aktarmak istersek ne olur? –

2

MSDN'den Eğitici Dizisi İşleniyor!

ThreadStart work = NameOfMethodToCall; 
Thread thread = new Thread(work); 
thread.Start(); 
... 

private void NameOfMethodToCall() 
{ 
    // This will be executed on another thread 
} 

Ancak, bu tür iş parçacığı havuzu gibi veya Paralel Uzantıları kullanarak (.NET 4'te) diğer seçenek vardır:

http://msdn.microsoft.com/en-us/library/aa645740(VS.71).aspx

0

C# konusundaki yazılar Thread Class. Bir işlem başladığında (bir programı çalıştırırsanız) uygulama kodunuzu çalıştırmak için tek bir iş parçacığı (ana iş parçacığı olarak da bilinir) alırsınız. Açıkça sen iplik sınıfının bir örneğini oluşturmak ve C# kullanarak iş parçacığı çalıştırmak için başlangıç ​​yöntemini çağırmak zorunda (Başvurunuz ana ipliği hariç) başka bir iş parçacığı başlatmak için, en İçeri daha fazla bilgi edinebilirsiniz bir örnek

using System; 
    using System.Diagnostics; 
    using System.Threading; 

    public class Example 
    { 
    public static void Main() 
    { 
      //initialize a thread class object 
      //And pass your custom method name to the constructor parameter 

      Thread thread = new Thread(SomeMethod); 

      //start running your thread 

      thread.Start(); 

      Console.WriteLine("Press Enter to terminate!"); 
      Console.ReadLine(); 
    } 

    private static void SomeMethod() 
    { 
      //your code here that you want to run parallel 
      //most of the cases it will be a CPU bound operation 

      Console.WriteLine("Hello World!"); 
    } 
    } 

görelim Bu tutorial Multithreading in C#, Burada duyarlı, paralel ve kullanıcı beklentilerini karşılayan sağlam uygulamalar oluşturmak için C# ve .NET Framework tarafından sağlanan Thread sınıfı ve Görev Paralel Kütüphanesi yararlanmayı öğreneceksiniz.