Aracılığıyla paylaş


CMutex sınıfı

"Mutex" temsil eder — bir iş parçacığı dışlayan bir kaynağa erişim izni veren bir eşitleme nesnesi.

class CMutex : public CSyncObject

Üyeler

tt45160e.collapse_all(tr-tr,VS.110).gifOrtak Oluşturucusu

Ad

Description

CMutex::CMutex

Yapıları bir CMutex nesnesi.

Notlar

Zaman uyumu sağlayıcılar, belirli bir anda yalnızca bir iş parçacığının verileri veya başka bir denetlenen kaynağı değiştirmek için izin olduğunda yararlıdır.Örneğin, bağlantılı bir listeye düğüm ekleme, yalnızca bir iş parçacığı tarafından aynı anda izin verilmesi gereken bir işlemdir.Kullanarak bir CMutex yalnızca bir iş parçacığının aynı anda listesine erişebilir bağlı liste denetimi nesne.

Kullanmak için bir CMutex nesne, değiştirmezler CMutex nesne gerektiğinde.Bekleyin istediğiniz zaman uyumu sağlayıcısı adını belirtin ve uygulamanızın başlangıçta kendisine ait.Kurucu döndüğünde mutex sonra erişebilirsiniz.Call CSyncObject::Unlock bitince kontrollü kaynağa erişme.

Alternatif bir yöntem kullanmak için CMutex nesnedir türünde bir değişken eklemek için CMutex denetlemek istediğiniz sınıfı için veri üyesi olarak.Denetlenen Nesne oluşturma sırasında çağırdığınız CMutex veri üyesi mutex başlangıçta sahibi, mutex (işlem sınırları boyunca kullanılacak olan varsa) adını ve istenen güvenlik özniteliklerini belirtme.

Tarafından denetlenen kaynaklara erişmek için CMutex bu şekilde önce her iki türde bir değişken oluşturmak CSingleLock veya CMultiLock , kaynağın erişim üye işlev içinde.Kilit nesnenin çağrısı Lock üye işlevi (örneğin, CSingleLock::Lock).Bu noktada, kendi iş parçacığı ya da kaynağa erişmek, serbest bırakılması ve erişim ya da serbest bırakılması için kaynak ve zaman aşımı, kaynağa erişmek başarısız beklemek kaynak için bekleyin.Her durumda, kaynak, iş parçacığı için güvenli bir biçimde erişilmedi.Kilit nesnenin kaynağı serbest bırakmak için kullanın Unlock üye işlevi (örneğin, CSingleLock::Unlock), veya kilit Nesne kapsamı dışında kalan izin verin.

Kullanma hakkında daha fazla bilgi için CMutex nesneleri, makalesine bakın çok iş parçacığı: eşitleme sınıfları nasıl.

Devralma hiyerarşisi

CObject

CSyncObject

CMutex

Gereksinimler

Başlık: afxmt.h

Ayrıca bkz.

Başvuru

CSyncObject sınıfı

Hiyerarşi grafik