Java'da Konu Nasıl Oluşturulur? | Java'da çoklu kullanım
Yayınlanan: 2020-12-29Bu makalede, Java'da iş parçacığı oluşturmaya bir göz atacağız ve iş parçacığı oluşturmayı mümkün kılan mekanizmaları keşfedeceğiz.
İçindekiler
Java'da Diş Açma
Java'daki iş parçacığı özelliği, hafif bir alt işlemdir. En küçük işleme birimi olarak kabul edilir. Bir programda çoklu görev gerçekleştirmenin bir yoludur. Oyunlar, animasyonlar vb. söz konusu olduğunda kullanışlı bir özelliktir.
Java, iş parçacığı ve çoklu iş parçacığı oluşturmak için yerleşik desteğe sahiptir. Bu, CPU alanının optimum kullanımıyla verimsizlikleri ve çekmeyi en aza indirmeye yönelik akıllı bir yaklaşımdır. Java'da bu iki şekilde yapılabilir:
- Konu Sınıfını Genişletin veya
- Çalıştırılabilir Arabirimi Uygulayın
Aynı anda birden fazla iş parçacığı yürütüldüğünde, buna çoklu iş parçacığı denir. Bu, esasen, bir programın birden fazla bölümünün aynı anda çalışmasına izin verir, bir iş parçacığının her bir parçası ve her iş parçacığı, yürütme için farklı bir yol izler.
İş parçacıkları paylaşılan bellek alanını kullanır; her parçaya bellek ayrılmaz, bu da maksimum CPU kullanımına neden olur. Ayrıca, bağlamları değiştirmek fazla zaman almaz. Bununla birlikte, çok fazla iş parçacığı, CPU'nuzu bağlam değiştirmeye dahil edebilir ve yürütmeniz gecikebilir.
Bir İplik Aşağıdaki Altı Durumdan Birinde Bulunabilir
- YENİ – bir iş parçacığı oluşturulur oluşturulmaz yeni durumda bulunur. Esasen, iş parçacığının henüz yürütmeye başlamadığı anlamına gelir.
- ÇALIŞIYOR – bir iş parçacığı yürütülürken veya yürütülecek sıradaysa, çalışır durumda.
- BEKLEME – çalışan bir iş parçacığı bazen başka bir faaliyetin gerçekleşmesine izin vermek için durdurulur veya askıya alınır. wait() veya join()'in zaman aşımı olmayan bir sürümü, bir iş parçacığının yürütülmesini askıya alabilir. Eylem gerçekleştiğinde, askıya alınmış bir iş parçacığı devam ettirilir.
- ZAMANLI BEKLEME – çalışan bir iplik bazen geçici olarak durdurulur veya belirli bir süre için askıya alınır. Örneğin, uyku() işlevi çağrıldığında.
- ENGELLENDİ – askıya alınmış bir Java iş parçacığı belirli bir kaynağı alamadığında, engellenir ve engellenmiş durumda bulunur.
- SONLANDIRILDI - bir iş parçacığı yürütmesini tamamladığında, sonlandırılmış durumda bulunur. Ancak, istediğiniz zaman bir diziyi sonlandırabilirsiniz.
Java mimarisi ve bileşenleri hakkında daha fazla bilgi edinin.

Java'da bir iş parçacığı oluşturmanın faydaları
İplik oluşturmanın birkaç avantajı vardır. Bunlardan bazıları
- İş parçacıkları bağımsız olduğundan, paylaşılan bellek alanında çalışsalar bile bir yürütme diğerini etkilemez. Bu aynı zamanda birden fazla işlemi aynı anda gerçekleştirebileceğiniz anlamına gelir.
- İş parçacığı oluşturma, çoklu görev biçimidir ve zamandan tasarruf sağlar.
- Bir iş parçacığındaki bir hata diğerini etkilemez.
Java'da bir iş parçacığı nasıl oluşturulur?
Yukarıda tartışıldığı gibi, bunu yapmanın iki yolu vardır: İş Parçacığı Sınıfını Genişletin veya Çalıştırılabilir Arabirimi Uygulayın
Konu Sınıfı
Thread sınıfında, işlemleri gerçekleştirmenize, threadleri yönetmenize ve takip etmenize izin veren yapıcılar ve yöntemler vardır. Daha sonra eşlik eden Runnable arabirimini uygulayan Object sınıfını genişletir. İş parçacığı sınıfında bulunan yapıcılar şunlardır: Thread(), Thread(String name), Thread(Runnable r) ve Thread(Runnable r, String name).
Yöntemler ve açıklamaları aşağıdadır
| Yöntem | Ne için kullanılır? |
| Başlat() | Yürütmeyi başlatır |
| koşmak() | Bir iş parçacığı için bir eylem çalıştırmak için |
| uyumak() | Belirli bir süre boyunca uykuya bir iş parçacığı koyar |
| katılmak() | Başka bir iş parçacığı sonlandırılana kadar bekleyin |
| getPriority() | Belirli bir iş parçacığının önceliğini belirtmek için |
| setÖncelik() | Belirli bir iş parçacığının önceliğini değiştirmek için |
| getName() | Belirli bir iş parçacığının adını döndürmek için |
| setAd() | Belirtilen iş parçacığının adını değiştirmek için |
| getId() | Belirli bir iş parçacığının kimliğini döndürmek için |
| yaşıyor() | Bir iş parçacığının hala herhangi birinde mevcut olup olmadığını test etmek için |
| teslim olmak() | Başka bir iş parçacığının/iş parçacıklarının çalışmasına izin vermek için bir iş parçacığı nesnesinin yürütülmesini duraklatır |
| askıya almak() | Belirli bir iş parçacığını askıya almak için |
| öz geçmiş() | Bir iş parçacığını askıya alınmış durumdan sürdürmek için |
| Dur() | Belirli bir iş parçacığını durdurmak için |
| tahrip etmek() | İplik grubunu ve alt grupları yok etmek için |
| kesmek() | İş parçacığı yürütmesinde kesintiye neden olmak için |
| kesintiye uğradı() | Belirli bir iş parçacığı yürütmesinin kesintiye uğrayıp uğramadığını test etmek için |
| kesintiye uğradı() | Geçerli iş parçacığı yürütmesinin kesintiye uğrayıp uğramadığını test etmek için |
| aktifSayı() | Bir iş parçacığı grubundaki etkin iş parçacıklarının sayısını döndürmek için |
| bekletKilit() | Yalnızca ve yalnızca geçerli iş parçacığı belirtilen nesnede monitör kilidini tutuyorsa true değerini döndürür. |
| getState() | Belirli bir iş parçacığının durumunu belirlemek için |
| setContextClassLoader() | ClassLoader bağlamını ayarlamak için |
| getContextClassLoader() | ClassLoader bağlamını döndürmek için |
Thread sınıfını genişleterek bir thread oluşturabilmek için öncelikle java.lang.Thread sınıfını genişleten bir sınıf oluşturulmalıdır. Bu sınıf, run() yöntemini geçersiz kılmak için tanımlanmıştır. Ardından, iş parçacığı yürütmesini başlatmak için start() yöntemi çağrılarak takip eden yeni sınıfta bir nesne oluşturulur.

Okumanız Gerekenler: Java'daki Model Programlarını Kontrol Etmeniz Gerekir
Çalıştırılabilir Arayüz
Bu, bir iş parçacığı oluşturmanın en kolay yoludur. Çalıştırılabilir Arabirimi uygulamak için yalnızca bir yöntem gereklidir: run()
Bunu beyan etmek için yazıyoruz
genel geçersiz çalıştırma()

run() içinde, yeni bir iş parçacığı oluşturmak için kodu yazmaya devam ediyoruz.
Dünyanın En İyi Üniversitelerinden Yazılım Mühendisliği Kurslarına Kaydolun . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
İş parçacığı Sınıfı ve Çalıştırılabilir Arayüz
Thread sınıfı, başka bir sınıfı genişletmenizi engeller. Bunun nedeni, Java'da çoklu kalıtımın mümkün olmamasıdır. Ancak, diğer sınıfları genişletmeye devam ettiğiniz Runnable arabirimini uyguladığımızda durum böyle değil.
Thread sınıfını genişletmek, bir iş parçacığının işlevselliğini artıran birkaç önemli yöntemi sizin için erişilebilir kılar. Örneğin, verim(), stop(), isalive(), interrupt(). Runnable arabirimi, yalnızca oldukça sınırlayıcı olan bir yönteme sahiptir.
toparlamak
Java, tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ projeler ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

