• ks. mutual exclusion.. multitasking sistemlerde deadlock'lari engellemek icin kullanilan bir mekanizma.. bir mutex'e ayni anda sadece bir thread sahip olabilir. digerleri sahip olmak isterlerse beklemek zorundadir.

    (bkz: critical section)
  • semaphore'un tek thread'e izin veren halidir, ba$ka da bi $ey degildir. signaled ve not signaled state'i olur.
  • (bkz: deadlock)
  • birkaç thread (task) tarafından okuma ve yazma yapılabilen bir data structure'a sadece aynı anda bir threadin erişimini sağlayan bir senkronizasyon mekanizması
  • amerikan programcilarinin herşeye karizmatik bir isim verip olayi büyütmelerine klasik bir örnek olan mutex, basitçe anlatilmak istenirse tuvalet mekanizması gibidir. tuvalete giren bir threadi diğer threadler beklemek zorundadır (ki threadin özel yaşamı kurcalanmasın). ha kod güvenliği vs. gibi meseleler yüzünden timeout gibi stateler sayesinde gerekirse tuvaletteki thread dışarı atılarak (burda alternatifler oluşabilir) çok sıkışan bir threadin çişini yapmasına müsade edilebilir.

    bir çok os veya framework tarafından sistem tarafından desteklenir, ancak "ben ki evreni yaratmışım bea!" edalarındaki bir programcı iseniz ufak bir kayan yıldız yapmak kadar basit bir kaç işlemde halledilebilir.
  • açılımı mutual exclusion olan, deadlock önlemek için threadlerin karşılıklı kaçımlı davranışlar içinde bulunmaları durumu.

    kaçımlı olsun temiz olsun
  • belirli kaynakların aynı anda birden çok sürecimsi (thread) tarafından kullanılmasının engellenmesi amacı ile programcıların kullandığı kilit yapısının ingilizce karşılığıdır. pek çok sürecimsinin aynı kaynak için sonsuza kadar beklemesini engellemeye yöneliktir. programlanma safhası oldukça zordur, (ama bu özel kilit yapısının -mutex- kullanımı çoğu kez verimliliği kat be kat artırır, vazgeçilmezdir) zira kilit yapısı karmaşıklaştıkça, hata denetimi (böcek var mı yok mu: debugging) zorlaşır. nedeni ise programın bir kaç kez düzgün çalışması sonrasında örneğin 7. kez çalışırken kilitlenebilmesidir, zira yanlış kilit yapısı (mutex) oluşturmuşsunuzdur ama buna rağmen program bazen düzgün çalışabilir.
  • mimariden mimariye farkli implementation'lari bulunsa da, "bir word'un (ornegin mutex) degerini test edip eger false ise true'ye cevirme islemini" atomic olarak yapar ve genelde testandset adi verilen bir instructiondan faydalanır.
    bunu atomic olarak yapmak zorundayizdir, zira bir dongu icinde spinlock turu surekli olarak degerin yanlis olup olmadigina bakip yanlissa dogruya cevirme cabalari ziyandir, bir de bakarsin ki cmp'den sonra inc koyamadan preempt oluvermisin, senden sonra gelen 9 process de ayni boku yemis, daha da kotusu 10 numara inc'i de koymus, bir de preempt yemis ... mutual inclusion.
hesabın var mı? giriş yap