İkili semafor ve dışlama arasındaki fark
İkili semafor ve ya essentialy aynı zaman uyumu arasında herhangi bir fark var mı?
CEVAP
OnlarDEĞİLaynı şey. Farklı amaçlar için kullanılır!
Semafor iki tür dolu/boş bir devlet var ve aynı API kullanırken, kullanımları çok farklıdır.
Karşılıklı Dışlama Semafor
Karşılıklı Dışlama semafor paylaşılan kaynaklara (veri yapısı, dosya, vb.) korumak için kullanılır.
Zaman uyumu bir semafor "" görevi o alır. aittir Eğer Görev B zaman uyumu şu anda Bir Görev tarafından düzenlenen semGive çalışırsa, Görev B çağrı bir hata döndürür ve başarısız olur.
Uyumu her zaman aşağıdaki sırayı kullanır:
- SemTake - Critical Section - SemGive
İşte bir örnek:
Thread A Thread B Take Mutex access data ... Take Mutex <== Will block ... Give Mutex access data <== Unblocks ... Give Mutex
İkili Semafor
İkili Semafor tamamen farklı bir soru adresi:
- Görev B-bir şeyler olmasını (örneğin bir sensör takılıyor) bekliyorum beklemedeki.
- Sensör Gezileri ve Kesme Hizmet Yordamı çalışır. Yolculuğun bir görev bildirmek gerekiyor.
- Görev B çalıştırın ve sensör seyahatiniz için uygun önlemleri almak gerekir. Sonra geri bekliyor.
Task A Task B
... Take BinSemaphore <== wait for something
Do Something Noteworthy
Give BinSemaphore do something <== unblocks
İkili bir semafor ile, semafor ve onu vermek için Bir B almak için TAMAM olduğunu unutmayın.
Yine ikili bir semafor erişim bir kaynak koruma DEĞİLDİR. Ve bir semafor Alma, Verme eylemi temelden ayrılmış.
Genellikle bir ve aynı ikili bir al ver semafor yani aynı görev için pek bir anlam ifade etmiyor.
Kilit, dışlama, semafor... ne'far...
İkili ağaç ve ikili arasındaki fark ar...
Java dışlama ve semafor nedir ? Temel ...
Kilit ve Dışlama arasındaki fark nedir...
BaseAdapter kullanımı arasındaki fark ...