Fungsi DeleteSynchronizationBarrier (synchapi.h)
Menghapus hambatan sinkronisasi.
Sintaks
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Parameter
[in, out] lpBarrier
Penunjuk ke penghubung sinkronisasi untuk dihapus.
Nilai kembali
Fungsi DeleteSynchronizationBarrier selalu mengembalikan TRUE
.
Keterangan
DeleteSynchronizationBarrier merilis hambatan sinkronisasi saat tidak lagi diperlukan. Sangat aman untuk memanggil DeleteSynchronizationBarrier segera setelah memanggil EnterSynchronizationBarrier karena fungsi tersebut memastikan bahwa semua utas di pembatas telah selesai menggunakannya sebelum memungkinkan hambatan dirilis.
Jika hambatan sinkronisasi tidak akan pernah dihapus, utas dapat menentukan bendera SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE saat memasuki penghubung. Bendera ini menyebabkan fungsi melewati pekerjaan tambahan yang diperlukan untuk keamanan penghapusan, yang dapat meningkatkan performa. Semua utas yang menggunakan pembatas harus menentukan bendera ini; jika ada utas yang tidak, bendera diabaikan. Berhati-hatilah saat menggunakan SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, karena menghapus penghalang saat bendera ini berlaku dapat mengakibatkan akses handel yang tidak valid dan menyebabkan satu atau beberapa utas diblokir secara permanen.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | synchapi.h |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |