Bagikan melalui


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

CObject

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.

Lihat juga

Kelas CObject
Bagan Hierarki