Uyku ve Bekleme Arasındaki Fark

Anonim

Uyku ve Bekle

gibi makinelerdir. çünkü bilgisayarlar programları oluşturmak, onları kontrol etmek ve talimatları iletmek ve algoritmaları ifade etmek için yapay dili kullandıklarından. Bu dile programlama dili denir.

Bilgisayarların gelmesinden önce, tezgahlarda ve piyanoda programlama dili zaten kullanılmıştı. Bilgisayar kullanımı yaygınlaştıkça, şimdi birçok programlama dili kullanılıyordu.

BASIC, C, C ++, Fortran, Pascal ve Java gibi üst düzey dilleri içeren birkaç bilgisayar dili vardır. Her bir sanal makine ve CPU'nun kendi zayıf yönleri ve güçlü yönleri olan kendi bilgisayar dilleri vardır ve her sanal makine çalıştırıldığında bir iş parçacığı çalıştırır. Bu iş parçacığı, uygulama kodunu programda yürütür. Bir programı daha hızlı çalıştırabilir ve özellikle birden fazla iş parçacığı kullanıldığında performans ve yararlılıklarında yardımcı olabilir.

Java sanal makinesi gibi sanal makineler, öncelikli olarak düşük öncelikli iş parçacıkları üzerinde yürütülen, daha yüksek önceliğe sahip iş parçacıkları içeren çok iş parçacıklı bir konsepti destekler ve zaman işlemenin adil bölümünü sağlar.

Paylaşılan bir alandaki kontrollerin veya iş parçacıklarının akışını yaratan, kontrol eden ve sonlandıracak iplik yönetimi yöntemlerini kullanır. Bu iplik yönetim yöntemlerinden ikisi bekleme ve uyku yöntemleridir.

Bu iki yöntem ayrı. Uyku yöntemi, iş parçacığının yürütülmesini denetler ve bekleme yöntemi, diğer iş parçacıklarının çalışmasına izin vermek için iş parçacığının yürütülmesini denetlemezken bir sonraki eylemi geciktirir.

Bekleme yöntemi Object sınıfında tanımlanır ve geçerli iş parçacığı çalıştırılamaz duruma gönderilir. Bir nesnenin yürütme kodunun geçici olarak duraklatılmasına ve daha sonra devam ettirilmesine izin vermek için bildirim ve bildirim yöntemleri ile birlikte kullanılır.

Bir kilit nesnesini çağırarak ve o anki iş parçacığının onunla senkronize edilmesine izin vererek çalışır. Bekleyin kilidi serbest bırakır ve iş parçacığını bekleme listesine alır ve diğer iş parçacıklarının senkronize edilmesine izin vererek özgün iş parçacığının uyanmasına neden olur. Programcı, çalıştırmanın tekrar başladığı zamanı belirler.

Öte yandan, uyku yöntemi statik bir yöntem olarak tanımlanır. Bu, yürütülmekte olan iş parçacıklarını askıya almakla birlikte iş parçacıklarının değil yürütülmesini geciktirir. Geçerli konuları bir süre çalıştırılamaz duruma gönderir. Geçerli iş parçacığının senkronizasyon kilitlerini koruduğu için çok iş parçacıklı uygulamaların davranışını etkileyebilir. İş parçacığı eşzamanlı bir blokta olduğunda, başka hiçbir iş parçacığı bloğa giremez.

Özet:

1. "Uyku", "bekle", Nesne sınıfında tanımlanan bir iş parçacığı yönetim yöntemiyken statik bir yöntem olarak tanımlanan bir iş parçacığı yönetim yöntemidir.

2. Uyku, nesneleri yürüten bir yöntem iken iş parçacıklarını yürüten bir yöntemdir.

3. Uyku, geçerli iş parçacığının senkronizasyon kilidini tutar ve bekleme sırasında uygulama davranışını etkiler.

4. Uyku, iş parçacığının yürütülmesini denetler ve bekleme, diğer iş parçacıklarının çalışmasına izin vermek için iş parçacığının yürütülmesini denetlemezken, eşitlenen bir bloğun diğer iş parçacıklarına izin vermez.