CodeBlanks Logo Icon CodeBlanks

Thread.Start

C# kursu · Uzman · Ders 20/47

Thread.Start ile iş parçacığı başlatmayı ve Join ile beklemeyi öğrenirsin.

Start ve Join

Thread.Start() bir thread'i çalıştırmaya başlar; çağrı hemen döner, thread arka planda çalışır. Thread.Join() ise çağıran thread'i, hedef thread bitene dek bloklar.

Birlikte kullanıldığında: Start ile başlat, Join ile bekle — bu, basit senkronizasyonun temelidir. Join'e timeout verilebilir: t.Join(1000) en çok 1 sn bekler.

Join ile sıralama

Birden fazla thread'i sırayla beklemek için t1.Join(); t2.Join(); yazarsın. Tüm Join'ler dönünce ana thread devam eder.

Bu, paralel işleri toplayıp sonuçları birleştirmenin basit yoludur. Eğer bir thread hiç bitmezse Join sonsuz bekler; bu yüzden güvenlik için timeout'lu Join tercih edilebilir.

Uygulama İki thread'i sırayla bekle

Thread t1 = new Thread(() => { }); ve Thread t2 = new Thread(() => { }); oluştur. İkisini de Start() ile başlat, sonra t1.Join(); t2.Join(); ile bekle. En son Console.WriteLine("Bitti"); yaz.

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

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

Kendini test et

  1. Join çağrısı

    t.Start();
    t.____();
    Cevabı göster
    t.Start();
    t.Join();
  2. Thread.Join() ne yapar?

    • Thread'i başlatır
    • Çağıran thread'i hedef bitene dek bloklar
    • Thread'i iptal eder
    • Yeni thread oluşturur
    Cevabı göster

    Çağıran thread'i hedef bitene dek bloklar — Doğru. Join çağıran thread'i bekletir.

  3. Thread metotlarını eşleştir

    Start()
    Thread'i başlatır
    Join()
    Bitmesini bekler
    Join(1000)
    Timeout'lu bekleme
    Sleep(500)
    Belirli süre duraklat

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