Bagikan melalui


Kelas CriticalSection

Mewakili objek bagian penting.

Sintaks

class CriticalSection;

Anggota

Konstruktor

Nama Deskripsi
CriticalSection::CriticalSection Menginisialisasi objek sinkronisasi yang mirip dengan objek mutex, tetapi hanya dapat digunakan oleh utas dari satu proses.
CriticalSection::~CriticalSection Mendeinisialisasi dan menghancurkan objek saat ini CriticalSection .

Metode Publik

Nama Deskripsi
CriticalSection::IsValid Menunjukkan apakah bagian penting saat ini valid.
CriticalSection::Lock Menunggu kepemilikan objek bagian penting yang ditentukan. Fungsi mengembalikan ketika utas panggilan diberikan kepemilikan.
CriticalSection::TryLock Mencoba memasukkan bagian penting tanpa memblokir. Jika panggilan berhasil, utas panggilan mengambil kepemilikan dari bagian penting.

Anggota Data yang Dilindungi

Nama Deskripsi
CriticalSection::cs_ Mendeklarasikan anggota data bagian penting.

Hierarki Warisan

CriticalSection

Persyaratan

Header: corewrappers.h

Namespace: Microsoft::WRL::Wrappers

CriticalSection::~CriticalSection

Mendeinisialisasi dan menghancurkan objek saat ini CriticalSection .

WRL_NOTHROW ~CriticalSection();

CriticalSection::CriticalSection

Menginisialisasi objek sinkronisasi yang mirip dengan objek mutex, tetapi hanya dapat digunakan oleh utas dari satu proses.

explicit CriticalSection(
   ULONG spincount = 0
);

Parameter

spincount
Jumlah putaran untuk objek bagian kritis. Nilai default adalah 0.

Keterangan

Untuk informasi selengkapnya tentang bagian penting dan spincount, lihat InitializeCriticalSectionAndSpinCount fungsi di bagian Synchronization dokumentasi Windows API.

CriticalSection::cs_

Mendeklarasikan anggota data bagian penting.

CRITICAL_SECTION cs_;

Keterangan

Anggota data ini dilindungi.

CriticalSection::IsValid

Menunjukkan apakah bagian penting saat ini valid.

bool IsValid() const;

Tampilkan Nilai

Secara default, selalu mengembalikan true.

CriticalSection::Lock

Menunggu kepemilikan objek bagian penting yang ditentukan. Fungsi mengembalikan ketika utas panggilan diberikan kepemilikan.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

Parameter

Cs
Objek bagian penting yang ditentukan pengguna.

Tampilkan Nilai

Objek kunci yang dapat digunakan untuk membuka kunci bagian penting saat ini.

Keterangan

Fungsi pertama Lock memengaruhi objek bagian penting saat ini. Fungsi kedua Lock memengaruhi bagian penting yang ditentukan pengguna.

CriticalSection::TryLock

Mencoba memasukkan bagian penting tanpa memblokir. Jika panggilan berhasil, utas panggilan mengambil kepemilikan dari bagian penting.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

Parameter

Cs
Objek bagian penting yang ditentukan pengguna.

Tampilkan Nilai

Nilai bukan nol jika bagian penting berhasil dimasukkan atau utas saat ini sudah memiliki bagian penting. Nol jika utas lain sudah memiliki bagian penting.

Keterangan

Fungsi pertama TryLock memengaruhi objek bagian penting saat ini. Fungsi kedua TryLock memengaruhi bagian penting yang ditentukan pengguna.