CSyncObject Sınıfı
Win32'deki eşitleme nesneleri için ortak işlevsellik sağlayan saf bir sanal sınıf.
Sözdizimi
class CSyncObject : public CObject
Üyeler
Ortak Oluşturucular
Ad | Tanım |
---|---|
CSyncObject::CSyncObject | Bir CSyncObject nesne oluşturur. |
Genel Yöntemler
Ad | Tanım |
---|---|
CSyncObject::Lock | Eşitleme nesnesine erişim kazanır. |
CSyncObject::Unlock | Eşitleme nesnesine erişim kazanır. |
Ortak İşleçler
Ad | Tanım |
---|---|
CSyncObject::operator HANDLE | Eşitleme nesnesine erişim sağlar. |
Ortak Veri Üyeleri
Ad | Tanım |
---|---|
CSyncObject::m_hObject | Temel alınan eşitleme nesnesinin tanıtıcısı. |
Açıklamalar
Microsoft Foundation Sınıf Kitaplığı, öğesinden CSyncObject
türetilen çeşitli sınıflar sağlar. Bunlar CEvent, CMutex, CCriticalSection ve CSemaphore'dir.
Eşitleme nesnelerini kullanma hakkında bilgi için Çoklu İş Parçacığı Kullanımı: Eşitleme Sınıflarını Kullanma makalesine bakın.
Devralma Hiyerarşisi
CSyncObject
Gereksinimler
Üst bilgi: afxmt.h
CSyncObject::CSyncObject
Sağlanan ada sahip bir eşitleme nesnesi oluşturur.
explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();
Parametreler
pstrName
Nesnenin adı. NULL ise pstrName null olur.
CSyncObject::Lock
Eşitleme nesnesi tarafından denetlenen kaynağa erişim kazanmak için bu işlevi çağırın.
virtual BOOL Lock(DWORD dwTimeout = INFINITE);
Parametreler
dwTimeout
Eşitleme nesnesinin kullanılabilir olmasını beklenecek süreyi milisaniye cinsinden belirtir (sinyal görüntülenir). SONSUZ ise, Lock
geri dönmeden önce nesnenin işaretlenmesini bekler.
İade Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Eşitleme nesnesine sinyal gönderiliyorsa, Lock
başarıyla döndürülecek ve iş parçacığı artık nesneye sahip olacaktır. Eşitleme nesnesi imzalanmamışsa (kullanılamıyorsa), Lock
dwTimeOut parametresinde belirtilen milisaniye sayısına kadar eşitleme nesnesinin işaretlenmesini bekler. Eşitleme nesnesi belirtilen süre içinde sinyal verilmediyse hata Lock
döndürür.
CSyncObject::m_hObject
Temel alınan eşitleme nesnesinin tanıtıcısı.
HANDLE m_hObject;
CSyncObject::operator HANDLE
Nesnenin CSyncObject
tutamacını almak için bu işleci kullanın.
operator HANDLE() const;
İade Değeri
Başarılı olursa, eşitleme nesnesinin tanıtıcısı; aksi takdirde NULL.
Açıklamalar
Windows API'lerini doğrudan çağırmak için tutamacı kullanabilirsiniz.
CSyncObject::Unlock
parametresiz bildirimi Unlock
saf bir sanal işlevdir ve 'den CSyncObject
türetilen tüm sınıflar tarafından geçersiz kılınmalıdır.
virtual BOOL Unlock() = 0; virtual BOOL Unlock(
LONG lCount,
LPLONG lpPrevCount = NULL);
Parametreler
lCount
Varsayılan uygulama tarafından kullanılmaz.
lpPrevCount
Varsayılan uygulama tarafından kullanılmaz.
İade Değeri
Varsayılan uygulama her zaman TRUE döndürür.
Açıklamalar
bildiriminin iki parametreli varsayılan uygulaması her zaman TRUE döndürür. Bu işlev çağrılan iş parçacığının sahip olduğu eşitleme nesnesine erişimi serbest bırakmak için çağrılır. İkinci bildirim, denetimli bir kaynağa birden fazla erişim sağlayan semaforlar gibi eşitleme nesneleri için sağlanır.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin