Fungsi LeaveCriticalSection (synchapi.h)
Merilis kepemilikan objek bagian penting yang ditentukan.
Sintaks
void LeaveCriticalSection(
[in, out] LPCRITICAL_SECTION lpCriticalSection
);
Parameter
[in, out] lpCriticalSection
Penunjuk ke objek bagian penting.
Mengembalikan nilai
Tidak ada
Keterangan
Utas dari satu proses dapat menggunakan objek bagian kritis untuk sinkronisasi saling pengecualian. Proses ini bertanggung jawab untuk mengalokasikan memori yang digunakan oleh objek bagian kritis, yang dapat dilakukannya dengan mendeklarasikan variabel jenis CRITICAL_SECTION. Sebelum menggunakan bagian penting, beberapa utas proses harus memanggil fungsi InitializeCriticalSection atau InitializeCriticalSectionAndSpinCount untuk menginisialisasi objek.
Utas menggunakan fungsi EnterCriticalSection atau TryEnterCriticalSection untuk memperoleh kepemilikan objek bagian penting. Untuk merilis kepemilikannya, utas harus memanggil LeaveCriticalSection sekali untuk setiap kali memasuki bagian kritis.
Jika utas memanggil LeaveCriticalSection ketika tidak memiliki kepemilikan objek bagian penting yang ditentukan, kesalahan terjadi yang dapat menyebabkan utas lain menggunakan EnterCriticalSection menunggu tanpa batas waktu.
LeaveCriticalSection tidak mengakses struktur CRITICAL_SECTION yang ditentukan setelah kepemilikan objek bagian penting dirilis.
Setiap utas proses dapat menggunakan fungsi DeleteCriticalSection untuk merilis sumber daya sistem yang dialokasikan saat objek bagian penting diinisialisasi. Setelah fungsi ini dipanggil, objek bagian penting tidak dapat lagi digunakan untuk sinkronisasi.
Contoh
Untuk contoh yang menggunakan LeaveCriticalSection, lihat Menggunakan Objek Bagian Penting.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | synchapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk