Java'da Thread Kavramı

JooCyp

Yeni üye
1 Nis 2020
12
0
Hepinize merhabalar,
Bugün Java'da thread kavramından ve thread kullanımının öneminden bahsedeceğim.
Java ile aynı anda birden fazla iş yapmak için kullanılan thread sınıfı,runnable arayüzü nedir bunları yaptığım araştırmalar ile açıklamaya çalışacağım.
Her bir işlemin altında çalışan alt işlemlere thread adı verilir.
Multithread kavramı ise başka threadlerle eş zamanlı çalışabilen bir iş parçacığı olarak ifade edilebilir.
Türkçeleştirirsek kelime anlamı olarak "multithreading" ->eş zamanlılık,"thread" -> iş parçacığı olarak ifade edilir.

Threadler aynı anda birden fazla işlem yapmayı sağlayan yapılardır.Bu yapı sayesinde işlemler birbirlerini beklemeden kendi işlemini yapar.

Bir örnekle bunu gösterelim.
Aşağıda ki kod thread kullanılmadan yapılmıştır.

Kod:
public class ThreadOrnegi {

    public static **** main(String[] args) {
        uzunBirIslem();
        System.out.println("Merhaba Thread");
    }

    private static **** uzunBirIslem() {
        try {
            // Burada uzun bir işlem yapılıyor.
            Thread.sleep(5 * 1000);
            System.out.println("Uzun işlem sonucu");
        } catch (InterruptedException ex) {
            System.err.println(ex);
        }
    }

}
Örnekte basit bir "Merhaba Thread" yazısının yazılması için "uzunBirIslem" metodunun bitmesi beklenmektedir.


Thread kullanımı için Thread sınıfını extends veya Runnable arayüzünü implements etmek gerekir.Thread sınıfının kullanımı için Thread sınıfı kalıtım alındıktan sonra "run" metodu ile override edilir ve gerekli komutlar yazılır.
Kod:
public class ThreadOrnegi extends Thread {

    public static **** main(String[] args) {
        ThreadOrnegi threadOrnegi = new ThreadOrnegi();
        threadOrnegi.start();
        System.out.println("Merhaba Thread");
    }

    [USER=277185]over[/USER]ride
    public **** run() {
        try {
            // Burada uzun bir işlem yapılıyor.
            Thread.sleep(5 * 1000);
            System.out.println("Uzun işlem sonucu");
        } catch (InterruptedException ex) {
            System.err.println(ex);
        }
    }

}
main metodu da bir thread oluşturur.
Runnable arayüzünün kullanımı için arayüz metodları class tarafından implement edilir.
Threadlerin önemi hakkında literatürdeki yeri ve küçük pratiklerle anlatmaya çalıştım.Sorunuz olursa mesaj atmanız yeterlidir.
Teşekkürler.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.