Bagikan melalui


CComCriticalSection Class

Kelas ini menyediakan metode untuk mendapatkan dan merilis kepemilikan objek bagian penting.

Sintaks

class CComCriticalSection

Anggota

Konstruktor Publik

Nama Deskripsi
CComCriticalSection::CComCriticalSection Konstruktor.

Metode Publik

Nama Deskripsi
CComCriticalSection::Init Membuat dan menginisialisasi objek bagian penting.
CComCriticalSection::Lock Mendapatkan kepemilikan objek bagian penting.
CComCriticalSection::Term Merilis sumber daya sistem yang digunakan oleh objek bagian penting.
CComCriticalSection::Unlock Merilis kepemilikan objek bagian penting.

Anggota Data Publik

Nama Deskripsi
CComCriticalSection::m_sec Objek CRITICAL_SECTION.

Keterangan

CComCriticalSection mirip dengan kelas CComAutoCriticalSection, kecuali bahwa Anda harus secara eksplisit menginisialisasi dan merilis bagian penting.

Biasanya, Anda menggunakan CComCriticalSection melalui typedef nama CriticalSection. Nama ini mereferensikan CComCriticalSection ketika CComMultiThreadModel sedang digunakan.

Lihat Kelas CComCritSecLock untuk cara yang lebih aman menggunakan kelas ini daripada memanggil Lock dan Unlock langsung.

Persyaratan

Header: atlcore.h

CComCriticalSection::CComCriticalSection

Konstruktor.

CComCriticalSection() throw();

Keterangan

Mengatur anggota data m_sec ke NULL.

CComCriticalSection::Init

Memanggil fungsi Win32 InitializeCriticalSection, yang menginisialisasi objek bagian penting yang terkandung dalam anggota data m_sec.

HRESULT Init() throw();

Tampilkan Nilai

Mengembalikan S_OK pada keberhasilan, E_OUTOFMEMORY, atau E_FAIL pada kegagalan.

CComCriticalSection::Lock

Memanggil fungsi Win32 EnterCriticalSection, yang menunggu hingga utas dapat mengambil kepemilikan objek bagian penting yang terkandung dalam anggota data m_sec .

HRESULT Lock() throw();

Tampilkan Nilai

Mengembalikan S_OK pada keberhasilan, E_OUTOFMEMORY, atau E_FAIL pada kegagalan.

Keterangan

Objek bagian penting harus terlebih dahulu diinisialisasi dengan panggilan ke metode Init . Ketika kode yang dilindungi telah selesai dieksekusi, utas harus memanggil Unlock untuk merilis kepemilikan bagian penting.

CComCriticalSection::m_sec

Berisi objek bagian penting yang digunakan oleh semua CComCriticalSection metode.

CRITICAL_SECTION m_sec;

CComCriticalSection::Term

Memanggil fungsi Win32 DeleteCriticalSection, yang merilis semua sumber daya yang digunakan oleh objek bagian penting yang terkandung dalam anggota data m_sec .

HRESULT Term() throw();

Tampilkan Nilai

Mengembalikan S_OK.

Keterangan

Setelah Term dipanggil, bagian penting tidak dapat lagi digunakan untuk sinkronisasi.

CComCriticalSection::Unlock

Memanggil fungsi Win32 LeaveCriticalSection, yang merilis kepemilikan objek bagian penting yang terkandung dalam anggota data m_sec .

HRESULT Unlock() throw();

Tampilkan Nilai

Mengembalikan S_OK.

Keterangan

Untuk terlebih dahulu mendapatkan kepemilikan, utas harus memanggil metode Lock . Setiap panggilan untuk Lock memerlukan panggilan yang sesuai untuk Unlock merilis kepemilikan bagian penting.

Lihat juga

CComFakeCriticalSection Class
Gambaran Umum Kelas
Kelas CComcritSecLock