CodeBlanks Logo Icon CodeBlanks

Thread sınıfı

C# kursu · Uzman · Ders 19/47

System.Threading.Thread ile iş parçacığı oluşturmayı öğrenirsin.

Thread sınıfı

System.Threading.Thread sınıfı, işletim sistemi düzeyinde bir iş parçacığı (thread) temsil eder. Thread t = new Thread(Work); ile yeni bir thread oluşturursun; t.Start(); ile başlatırsın.

Her thread kendi yığınına sahiptir ve bağımsız çalışır. Modern C#'ta çoğu durumda Task/async tercih edilir ama Thread düşük seviye kontrol için hâlâ kullanılır.

Thread oluşturma

Thread yapıcı metodu bir ThreadStart veya ParameterizedThreadStart delegate alır. new Thread(() => { /* iş */ }) en yaygın kullanımdır.

Bir thread başlatıldığında ana thread ile paralel çalışır; her ikisi de kendi akışında ilerler. İşin sırası önemliyse senkronizasyon (lock, Interlocked, sinyaller) gerekir.

Uygulama Thread başlat ve Join ile bekle

Bir Thread t = new Thread(() => { }); oluştur. t.Start(); ile başlat, t.Join(); ile bekle. En son Console.WriteLine("Tamam"); yaz.

Örnek çözümü göster
Thread t = new Thread(() => { }); t.Start(); t.Join(); Console.WriteLine("Tamam");
Örnek çözüm:
using System;
using System.Threading;

class Program
{
    static void Main()
    {
        Thread t = new Thread(() => { });
        t.Start();
        t.Join();
        Console.WriteLine("Tamam");
    }
}

Kendini test et

  1. Thread nasıl başlatılır?

    • Start()
    • Run()
    • Begin()
    • Execute()
    Cevabı göster

    Start() — Doğru. Start() metodu thread'i çalıştırır.

  2. Thread oluştur

    Thread t = new ____(() => { Console.WriteLine("İş"); });
    Cevabı göster
    Thread t = new Thread(() => { Console.WriteLine("İş"); });
  3. Thread yapıcı metodu ne alır?

    • Bir int
    • Bir string
    • Bir delegate (ThreadStart)
    • Bir dizi
    Cevabı göster

    Bir delegate (ThreadStart) — Doğru. Thread bir delegate (ThreadStart) alır.

Uzman bölümündeki tüm dersler