Java'da Çoklu Okuma – Örneklerle Öğrenin

Yayınlanan: 2022-06-23

Java, çok iş parçacıklı programları destekleyen bir programlama dilidir. Çok iş parçacıklı programlar, aynı anda çalışan, farklı görevleri yerine getiren ve optimum CPU kullanımını sağlayan iki veya daha fazla parçayı (iş parçacığı) barındırır. Çoklu iş parçacığı, çoklu görevin bir uzantısıdır. Çoklu görev, birden çok işlemin merkezi işlem birimi gibi ortak bir işlem kaynağını paylaştığı bir özellik olarak tanımlanabilir.

Çoklu iş parçacığı, çoklu görev kavramını, tanımlanmış işlemlerin daha küçük bireysel iş parçacıklarına bölünebildiği çeşitli uygulamalara dağıtır.

Bu iş parçacıklarının her biri, bir iş parçacığındaki bir istisna diğerlerinin performansını etkilemeyecek şekilde farklı yürütme yollarıyla aynı anda ve bağımsız olarak çalışır.

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

İçindekiler

Java'da Multithreading nedir?

Java'da çoklu iş parçacığı, CPU süresini en üst düzeye çıkarmak için birden çok iş parçacığının aynı anda yürütüldüğü yerdir.

Bir İpliğin Yaşam Döngüsü

İpliklerin yaşam döngülerinde farklı aşamaları vardır. Bunlar aşağıdaki gibidir:

  • Yeni: İş parçacığı yaşam döngüsüne yeni bir iş parçacığı olarak başlar. Bir program iş parçacığını çalıştırana kadar bu yeni doğan aşamasında kalır.
  • Çalıştırılabilir: Bir program tarafından başlatıldığında, doğan bir iş parçacığı çalıştırılabilir aşamaya girer. İş parçacığı bu aşamada görevini yürütmeye başlar.
  • Bekliyor: Bir iş parçacığının başka bir iş parçacığının görevini tamamlamasını beklediği bir geçiş aşamasıdır. Bekleme aşamasındaki bir iş parçacığı, diğer iş parçacıklarından bir sinyal aldıktan sonra çalıştırılabilir bir aşamaya geçer.
  • Zamanlı bekleme: Bu, çalıştırılabilir bir iş parçacığının belirli bir zaman aralığı için girebileceği bir aşamadır. Bu aşamadaki iş parçacıkları, belirli zaman aralığının sonunda çalıştırılabilir aşamaya geri döner.
  • Ölü: Bu, bir iş parçacığının yaşam döngüsünün son aşamasıdır. Bir iş parçacığı görevini tamamladıktan sonra bu aşamaya girer.

Java'da Çoklu Okumanın Faydaları

  • Java'daki threadler bağımsız olduğundan, Java multithreading kullanıcıları engellemez ve aynı anda birçok işlemi gerçekleştirebilirler.
  • Java'da çoklu iş parçacığı, birden çok işlemi mümkün kıldığı için zamandan tasarruf sağlar ve verimlidir.
  • Program, bir kısmı ele geçirilse bile sürekli çalışabilir.
  • Birden çok işlem kullanan geleneksel paralel programlara karşı performansı artırır.
  • CPU zamanını sonuna kadar kullanan verimli programların oluşturulması.
  • Karmaşık uygulamaların yanıt süresini büyük ölçüde iyileştirir.
  • Geleneksel paralel programlara kıyasla daha az kaynak gerektirir.

Konu Öncelik Sırası

İşletim sistemi, iş parçacığının önceliğine göre iş parçacığının yürütme zamanlamasını belirler. Bir iş parçacığının önceliği, sabitinin değerine göre belirlenir.

  • Sabit 1 minimum önceliği alır ( MIN_PRIORITY)
  • Sabit 5 normal öncelik alır ( NORM_PRIORITY)
  • Sabit 10 maksimum önceliği alır (MAX_PRIORITY)

Yazılım Mühendisliği ile İlgili Popüler Kurslar ve Makaleler

Popüler Programlar
Yazılım Geliştirmede Yönetici PG Programı - IIIT B Blockchain Sertifika Programı - PURDUE Siber Güvenlik Sertifika Programı - PURDUE Bilgisayar Bilimlerinde Yüksek Lisans - IIIT B
Diğer Popüler Makaleler
ABD'de Bulut Mühendisi Maaşı 2021-22 ABD'de AWS Çözüm Mimarı Maaşı ABD'de Arka Uç Geliştirici Maaşı ABD'de Ön Uç Geliştirici Maaşı
ABD'de Web geliştirici Maaşı 2022'de Scrum Master Mülakat Soruları 2022'de Siber Güvenlikte Kariyere Nasıl Başlanır? Mühendislik Öğrencileri için ABD'de Kariyer Seçenekleri

Java'da bir iş parçacığı nasıl oluşturulur?

Java'da threadler iki şekilde oluşturulabilir:

  1. Genişletme iş parçacığı sınıfı
  2. Çalıştırılabilir bir arayüz uygulama

Thread Sınıfını Genişleterek Thread Oluşturma

Birkaç thread sınıfı yöntemi ve işlevleri aşağıda verilmiştir.

  • getName() : İş parçacığının adını almak için
  • getPriority(): İş parçacığının önceliğini elde etmek için
  • is Alive(): bir iş parçacığının çalışıp çalışmadığını bulmak için
  • join(): bir iş parçacığının sonlandırılmasını bekleyin
  • run() : İş parçacığının giriş noktası
  • uyku(): Belirli bir zaman penceresi için bir iş parçacığını askıya almak için.
  • start() : Bir iş parçacığını run() yöntemiyle etkinleştirmek için.

Adım 1 : Thread sınıfında verilen run() yöntemini geçersiz kılın. Bu, iş parçacığı için giriş noktası görevi görür ve tüm program mantığı 4this'te kapsanmalıdır.

run() yönteminin sözdizimi aşağıdaki gibidir:

genel geçersiz çalıştırma ( )

Adım 2: Sözdizimi bir void start ( ) olan start () yöntemiyle iş parçacığı nesnesini başlatın .

Java'da çok iş parçacıklı program örnekleri:

Örnek 1:

class MultithreadingDemo, Thread'i genişletir{

public void run(){

System.out.println(“İş parçacığım çalışıyor.”);

}

public static void main(String args[]){

MultithreadingDemo obj=yeni MultithreadingDemo();

obj.start();

}

}

Yukarıdaki programın çıktısı şöyle olacaktır:

İş parçacığım çalışıyor.

Örnek 2:

sınıf Sayısı Konuyu genişletir

{

Saymak()

{

super(“iş parçacığım uzuyor”);

System.out.println(“iş parçacığım oluşturuldu” + bu);

Başlat();

}

genel geçersiz çalıştırma()

{

denemek

{

için (int i=0 ;i<10;i++)

{

System.out.println(“Sayı yazdırma ” + i);

Thread.sleep(1000);

}

}

catch(InterruptedException e)

{

System.out.println(“iş parçacığım kesildi”);

}

System.out.println(“İş parçacığım bitti”);

}

}

sınıf GenişletmeÖrnek

{

public static void main(String args[])

{

Sayım cnt = yeni Sayım();

denemek

{

while(cnt.isAlive())

{

System.out.println(“Ana iş parçacığı, alt iş parçacığı yaşayana kadar canlı kalacaktır”);

iplik.uyku(1500);

}

}

catch(InterruptedException e)

{

System.out.println(“Ana iş parçacığı kesintiye uğradı”);

}

System.out.println(“Ana iş parçacığının çalışması sonlandırıldı”);

}

}

Yukarıdaki programın çıktısı olacaktır.

iş parçacığım oluşturulduThread[çalıştırılabilir iş parçacığım,5,main]

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

0 sayısını yazdırma

1 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

2 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

3 sayısını yazdırma

4 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

5 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

6 sayısını yazdırma

7 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

8 sayısını yazdırma

Alt iş parçacığı yaşayana kadar ana iş parçacığı canlı olacak

9 sayısını yazdırma

iş parçacığı çalıştırmam sonlandırıldı

Ana iş parçacığı çalıştırması sonlandırıldı

Çalıştırılabilir Bir Arayüz Uygulayarak Bir İş Parçacığı Oluşturma

Bu yöntemi kullanırken izlenmesi gereken üç önemli adım vardır.

Adım 1 : Bir run() yöntemi, çalıştırılabilir bir arabirim tarafından uygulanmalıdır. Bu run() yöntemi, iş parçacığı için giriş noktası görevi görür ve tüm program mantığını içermelidir.

run() yönteminin sözdizimi şudur:

public void run( )

Adım 2: Aşağıda verilen kurucu kullanılarak bir thread nesnesi etkinleştirilmelidir.

Thread(Çalıştırılabilir threadObj, String threadName);

Burada threadObj çalıştırılabilir arabirimi uygulayan sınıf görevi görür ve thread name yeni thread'e verilen isimdir.

Adım 3: Thread nesnesini oluşturduktan sonra, run() yöntemini çalıştıran start() yöntemiyle başlatılabilir.

start() yönteminin sözdizimi aşağıdaki gibidir.

geçersiz başlangıç();

Çalıştırılabilir bir arabirim uygulayarak bir iş parçacığı oluşturma örneği burada bulunabilir .

Java çoklu kullanım ve yazılım geliştirme hakkında daha fazla bilgi edinmek için, IIIT Bangalore tarafından upGrad ile birlikte sunulan Yazılım Geliştirmede Yönetici Yüksek Lisans Programına kaydolmanızı öneririz.

Yazılım Geliştirmede Yönetici PG Programı, çalışan profesyonellerin sektörle ilgili vaka çalışmaları ve projeler aracılığıyla kariyerlerinde dev bir adım atmasına yardımcı olmak için tasarlanmış 13 aylık bir çevrimiçi programdır. Program ayrıca adayların daha iyi öğrenmesine yardımcı olmak için endüstri uzmanlarından on'dan fazla canlı oturum içeriyor.

Program, adayların öğrenmelerini alakalı ve pratik hale getirmek için uygulamalı deneyime ve yeterli endüstri maruziyetine sahip olmalarına yardımcı olacak endüstri projelerini içerir. Programın tamamlanması, adayları gıpta edilen IIIT B sertifikası ve mezun statüsü ile ödüllendirecektir.

Program, işleri daha da iyi hale getirmek için dünyanın her köşesinden 40.000'den fazla ücretli öğrenciyi etkileyen upGrad'ın 360 derecelik yerleştirme desteği ile birlikte gelir. upGrad, adaylar için küresel bir akran ağına sahip olmak için paha biçilmez bir fırsat sunan 85'ten fazla ülkeden bir öğrenci tabanına sahiptir.

Java'da çoklu görev ve çoklu kullanım arasındaki fark nedir?

Çoklu görev, birçok görevin aynı anda gerçekleştirilebildiği işlemdir ve çoklu iş parçacığı, her iş parçacığının farklı bir görevi yerine getirmesiyle aynı anda birden çok iş parçacığı yürütme işlemidir.

Çoklu kalıtım Java tarafından destekleniyor mu?

Java programlama dili, bir sınıfın birden fazla arabirim uyguladığı bir süreç olan çoklu kalıtımı destekler. Bir sınıf, arabirimlerde bir yöntemin farklı uygulamalarına (varsayılan veya statik) sahip olabilir. Java'da çoklu kalıtım, C++ dilinden farklı olarak sınıflarla değil, yalnızca arabirimlerle uygulanabilir.

Çoklu kullanım, Java'nın performansını iyileştirebilir mi?

Çoklu iş parçacığı, birden çok CPU'nun aynı sorunla ilgilenmesini sağlayarak Java'nın performansını artırır. Bu sadece süreci hızlandırmakla kalmaz, aynı zamanda verimli problem çözmeye de yardımcı olur.