• kilit
    kilitlemek
  • (bkz: airlock)
  • a-dosya bölümleri veya veritabanı kayıtlarına belirli sürelerle başka process'lerin erişmesini engelleyen komutlar
    b-ing. havuz: iki farklı seviyedeki su yüzeyi arasında geçiş yapan gemilerin üzerinde yüzdüğü seviyesi ayarlanır su tankları.
  • nightmare before christmas'da oogie boogie'nin ufakliklarindan biri. sandy claws'ı kaciriyorlar. (bkz: shock) (bkz: barrel)
  • john locke yazacakken locke yerine yanlış yazılan ve delirten kelime.

    bu bir jacop iki.
  • programlamada kullanılan bir keyword'dür. verildiği scope'u kilitleyerek thread'leri senkronize eden bir mekanizmadır.

    c# için,

    internal sealed class singletonlocked
    {
    private static object _lock = new object();

    private static singletonlocked _instance;

    public static singletonlocked instance
    {
    get
    {
    lock (_lock)
    {
    if (_instance == null)
    {
    console.writeline("singletonlocked => nesne oluşturuldu.");

    _instance = new singletonlocked();
    }
    else
    {
    console.writeline("singletonlocked => nesne kullanıldı.");
    }

    return _instance;
    }

    }
    }

    public void donothing()
    {
    }

    private singletonlocked()
    {
    }
    }

    test için;

    parallel.for(0, 10, i =>
    {
    singletonlocked.instance.donothing();
    });

    çıktı;

    singletonlocked => nesne oluşturuldu.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.
    singletonlocked => nesne kullanıldı.

    burada lock kullanılmasaydı, üretilen nesne sayısı birden fazla olabilirdi, bu da singleton mantığına terstir.
  • kendi alanımda sıkça karşıma çıkan ve dikkat edilmesi gereken "lock" teriminden bahsedelim.

    özellikle multi-threaded veya distributed ortamlarda yazılım geliştirirken sıklıkla kullandığımız case'ler oldu. temel amaç multiple thread veya process'ler tarafından kaynaklara erişim yapılırken tutarsızlıkları önlemektir.

    bir kaynağa erişirken ilk olarak acquire süreci işletilir artık o kaynak bir thread veya process tarafından işleniyordur. bu süreç lock'ı acquire eden kaynak tarafından sonlandırılabilir veya lock acquire edilirken belirli bir interval vererek t1 zaman sonra lock thread veya process'lerin haberi olmadan release edilebilir. lock acquire durumda iken dışarıdan erişmeye kapalıdır yani diğer thread veya process'ler erişim sağlayamaz.

    tutarsızlığı önleme konusunda çok kullanışlı olsa da yanlış kullanılırsa livelock,deadlock gibi ciddi sıkıntılar yaratabiliyor bu yüzden dikkatli kullanılmasını tavsiye ederim.

    nice lock'lı günlere diyelim o zaman!
hesabın var mı? giriş yap