Mutex ve Semaphore Arasındaki Fark

Mutex vs Semafor

Muteks, bir odanın tek bir anahtarına benzer. Bir iş parçacığına benzer olan anahtarı tutan kişi, odaya erişebilen tek kişidir. Bu durumda erişime sahip olan kişinin anahtarı sıradaki bir sonraki kişiye bırakması gerekir. Bu nedenle, bir muteks yalnızca onu alan iş parçacığı tarafından serbest bırakılabilir.

Bir muteks normal olarak bir evrak kodunun bir bölümüne erişimini serileştirmek için kullanılır ““ aynı anda birkaç iş parçacığı tarafından yürütülemeyen bir tür kod. Bir bölüme yalnızca tek bir iş parçacığına izin verilir. Bu, kuyruktaki diğer iş parçacıklarını beklemeye zorlar. Bir iş parçacığı erişmeden önce, iş parçasını bölümü bırakmadan önce iş parçacığının beklemeniz gerekir.

Muteks'te aynı benzetmeyi kullanan semaforlar, benzer kilitlere sahip aynı sayıda odaya erişebilen benzer anahtarların sayısıdır. Bir semafor veya semafor sayısının değeri, odaya giren veya odadan çıkan kişi (iş parçacığı) sayısına bağlı olacaktır. 5 oda varsa ve hepsi işgal edilmişse, semafor sayısı sıfırdır. İki odadan çıkarsa, sayı iki olur ve iki anahtar sıradaki sonraki ikiye verilir.

Bununla birlikte, semaforlar herhangi bir iş parçacığı veya işlem tarafından aynı anda sinyal verilebilir ve senkronizasyon gerektiren uygulamalar için idealdir. Bununla birlikte, semaforlar, ortak bir kaynağın eşzamanlı kullanıcı sayısını maksimum semafor sayısına dayalı olarak etkili bir şekilde kısıtlamak için kullanılır.

Yani temel olarak, bir muteks bir değeri olan bir semafor olarak düşünülebilir.

Semaforun azalması ve artması, iş parçacıklarının ortak kaynağa erişim isteğinde bulunmalarına veya bölümden ayrılmalarına bağlıdır..

Teorik olarak, muteks ve (ikili) semaforlar semantik olarak benzerdir. Muteksin uygulanması semaforlar kullanılarak yapılabilir ve bunun tersi de geçerlidir. Bununla birlikte, pratik anlamda, biraz farklı olabilirler.

Mutekslerin yalnızca karşılıklı dışlama için uygulanması ve ikili semaforların karşılıklı dışlama ve olay bildirimi için kullanılması amaçlanmıştır. Uygulama ve genel anlambilim açısından çok benzer olmalarına rağmen, farklı şekilde kullanılırlar.

Özet:

1. Mutex genellikle ortak bir kaynağa erişimi serileştirmek için kullanılırken, semafor bir dizi eşzamanlı erişimdir.

2. Muteks bir sayıyla semafor gibidir.
3. Mutex yalnızca tek bir iş parçacığının erişimine izin verirken semaforlar herhangi bir iş parçacığı veya işlem tarafından eşzamanlı olarak bildirilebilir.

4. Semaforlar senkronizasyon için idealdir ve mutex yalnızca karşılıklı dışlama için uygulanırken genellikle olay bildirimi ve karşılıklı dışlama için kullanılır.

Dil