Bagikan melalui


Fungsi InterlockedDecrement (winnt.h)

Penurunan (berkurang satu per satu) nilai variabel 32-bit yang ditentukan sebagai operasi atomik.

Untuk beroperasi pada nilai 64-bit, gunakan fungsi InterlockedDecrement64 .

Sintaks

LONG InterlockedDecrement(
  [in, out] LONG volatile *Addend
);

Parameter

[in, out] Addend

Penunjuk ke variabel yang akan diderementasi.

Nilai kembali

Fungsi mengembalikan nilai yang direkrementasi yang dihasilkan.

Keterangan

Variabel yang diarahkan oleh parameter Addend harus diselaraskan pada batas 32-bit; jika tidak, fungsi ini akan bertingkah tidak terduga pada sistem x86 multiprosedur dan sistem non-x86 apa pun. Lihat _aligned_malloc.

Fungsi yang saling terhubung menyediakan mekanisme sederhana untuk menyinkronkan akses ke variabel yang dibagikan oleh beberapa utas. Fungsi ini bersifat atomik sehubungan dengan panggilan ke fungsi lain yang saling diblokir.

Fungsi ini diimplementasikan menggunakan kompilator intrinsik jika memungkinkan. Untuk informasi selengkapnya, lihat file header WinBase.h dan _InterlockedDecrement.

Fungsi ini menghasilkan hambatan memori penuh (atau pagar) untuk memastikan bahwa operasi memori selesai secara berurutan.

Sistem berbasis Itanium: Untuk aplikasi penting performa, gunakan InterlockedDecrementAcquire atau InterlockedDecrementRelease sebagai gantinya.

Catatan Fungsi ini didukung pada sistem berbasis Windows RT.
 

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 winnt.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Akses Variabel Yang Saling Diblokir

InterlockedDecrement16

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrement64

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

InterlockedIncrement

Fungsi Sinkronisasi