Senkronizasyon vs Kilit | Netgez.com
SORU
17 Kasım 2010, ÇARŞAMBA


Senkronizasyon vs Kilit

2* *Apı kritik kaynağa erişmek için bir sınıf temelde sırayla kontrol sıralar hangi Lock) olarak adlandırılan sağlar. park() unpark() gibi bir yöntem verir.

Eğer synchronized anahtar kelime kullanın ve wait() notify() notifyAll() yöntemleri kullanarak eğer benzer şeyler yapabiliriz.

Bu uygulamada hangisi daha iyi ve neden merak ediyorum?

CEVAP
17 Kasım 2010, ÇARŞAMBA


Eğer sadece bir nesne kilitleme iseniz, synchronized kullanmayı tercih ediyorum

Örnek:

Lock.acquire();
doSomethingNifty(); // Throws a NPE!
Lock.release(); // Oh noes, we never release the lock!

Açıkça try{} finally{} bunu her yerde var.

Senkronize ise, süper net ve yanlış almak imkansız:

synchronized(myObject) {
    doSomethingNifty();
}

Bu, Locks ve bu kadar temiz bir şekilde elde serbest olduğu değil, daha karmaşık şeyler için daha faydalı olabilir " dedi. İsterdim açıkçası tercih kullanmaktan kaçının çıplak Locks ilk başta, sadece git ve bir daha karmaşık bir eşzamanlılık kontrolü gibi bir CyclicBarrier LinkedBlockingQueue, eğer onlar karşılamak ihtiyaçlarınızı.

Asla wait() notify() kullanmak için bir sebep yoktu. ama bazı iyi olanlar olabilir.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • KIT KAT

    KIT KAT

    3 EKÄ°M 2005
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010