Kelas CSyncObject
Kelas virtual murni yang menyediakan fungsionalitas umum untuk objek sinkronisasi di Win32.
Sintaks
class CSyncObject : public CObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CSyncObject::CSyncObject | Membuat CSyncObject objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CSyncObject::Lock | Mendapatkan akses ke objek sinkronisasi. |
CSyncObject::Buka kunci | Mendapatkan akses ke objek sinkronisasi. |
Operator Publik
Nama | Deskripsi |
---|---|
CSyncObject::operator HANDLE | Menyediakan akses ke objek sinkronisasi. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CSyncObject::m_hObject | Handel ke objek sinkronisasi yang mendasar. |
Keterangan
Pustaka Kelas Microsoft Foundation menyediakan beberapa kelas yang berasal dari CSyncObject
. Ini adalah CEvent, CMutex, CCriticalSection, dan CSemaphore.
Untuk informasi tentang cara menggunakan objek sinkronisasi, lihat artikel Multithreading: Cara Menggunakan Kelas Sinkronisasi.
Hierarki Warisan
CSyncObject
Persyaratan
Header: afxmt.h
CSyncObject::CSyncObject
Membuat objek sinkronisasi dengan nama yang disediakan.
explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();
Parameter
pstrName
Nama objek. Jika NULL, pstrName akan null.
CSyncObject::Lock
Panggil fungsi ini untuk mendapatkan akses ke sumber daya yang dikontrol oleh objek sinkronisasi.
virtual BOOL Lock(DWORD dwTimeout = INFINITE);
Parameter
dwTimeout
Menentukan jumlah waktu dalam milidetik untuk menunggu objek sinkronisasi tersedia (diberi sinyal). Jika INFINITE, Lock
akan menunggu hingga objek diberi sinyal sebelum kembali.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Jika objek sinkronisasi diberi sinyal, Lock
akan berhasil dikembalikan dan utas sekarang memiliki objek. Jika objek sinkronisasi tidak ditandatangani (tidak tersedia), Lock
akan menunggu objek sinkronisasi menjadi sinyal hingga jumlah milidetik yang ditentukan dalam parameter dwTimeOut . Jika objek sinkronisasi tidak menjadi sinyal dalam jumlah waktu yang ditentukan, Lock
mengembalikan kegagalan.
CSyncObject::m_hObject
Handel ke objek sinkronisasi yang mendasar.
HANDLE m_hObject;
CSyncObject::operator HANDLE
Gunakan operator ini untuk mendapatkan handel CSyncObject
objek.
operator HANDLE() const;
Tampilkan Nilai
Jika berhasil, handel objek sinkronisasi; jika tidak, NULL.
Keterangan
Anda dapat menggunakan handel untuk memanggil API Windows secara langsung.
CSyncObject::Buka kunci
Deklarasi Unlock
tanpa parameter adalah fungsi virtual murni, dan harus ditimpa oleh semua kelas yang berasal dari CSyncObject
.
virtual BOOL Unlock() = 0; virtual BOOL Unlock(
LONG lCount,
LPLONG lpPrevCount = NULL);
Parameter
lCount
Tidak digunakan oleh implementasi default.
lpPrevCount
Tidak digunakan oleh implementasi default.
Tampilkan Nilai
Implementasi default selalu mengembalikan TRUE.
Keterangan
Implementasi default deklarasi dengan dua parameter selalu mengembalikan TRUE. Fungsi ini dipanggil untuk merilis akses ke objek sinkronisasi yang dimiliki oleh utas panggilan. Deklarasi kedua disediakan untuk objek sinkronisasi seperti semaphores yang memungkinkan lebih dari satu akses sumber daya terkontrol.