CMutex

Sı&nıf CMutex bir nesneyi temsil eden bir "mutex" nbsp; — bir eşitleme nesnesi, bir iş parçacığı dışlayan bir kaynağa erişim izni verir. Zaman uyumu sağlayıcılar, bir defada yalnızca bir iş parçacığının verileri veya başka bir denetlenen kaynağı değiştirmek için izin verilebilir olduğunda yararlıdır. Örneğin, bağlantılı listeye düğüm ekleme bir iş parçacığı tarafından teker teker izin sadece bir süreçtir. Bağlantılı liste denetlemek için CMutex nesnesini kullanarak, bir defada yalnızca bir iş parçacığının listesine erişebilirsiniz.

Bir CMutex nesne kullanmak için bunu gerektiğinde CMutex nesnesi oluşturun. İstediğiniz beklenecek mutex adını belirtin ve uygulamanızın başlangıçta kendi. Kurucunun döndüğünde mutex sonra erişebilirsiniz. İşiniz bittiğinde CSyncObject::Unlock arama kontrollü kaynağa erişme.

CMutex nesneleri kullanmak için alternatif bir yöntem CMutex türünde bir değişken veri üyesi kontrol etmek istediğiniz sınıfı eklemektir. Denetlenen nesne inşaat sırasında mutex başlangıçta sahibi, mutex (işlem sınırları içinde kullanılacaksa,), adını ve istenilen güvenlik özniteliklerini belirtme CMutex veri üyesi yapıcısı arama.

Bu şekilde CMutex nesneleri tarafından denetlenen kaynaklara erişmek için ilk CSingleLockher iki türde bir değişken oluşturmak ya da CMultiLock , kaynağın erişim üye işlevi yazın. Sonra kilit nesnenin kilit üye işlev (örneğin, CSingleLock::Lock) arayın. Bu noktada, iplik ya da kaynağa erişmek, kaynağının yayımlanması ve erişmek ya da yayımlanması için kaynak ve zaman aşımı, kaynağa erişmek başarısız beklemek bekleyin. Her durumda, kaynak, bir iş parçacığı güvenli şekilde erişilmiş. Kaynağı serbest bırakmak için kilit nesnenin kilidini üye işlevini (örneğin, CSingleLock::Unlock) veya kilit nesne kapsamı dışında kalan izin.

CMutex nesneler hakkında daha fazla bilgi için bkz: yazı Multithreading: eşitleme sınıflarının nasıl kullanılacağını Visual c++ Programcı Kılavuzu.

# include lt;afxmt.h>

Sı&nıf üyeleri |nbsp; Temel sınıf | Hiyerarşi çizelgesi

Ör&neknbsp; mfc örnek uyumu

Index