Bagikan melalui


Fungsi InterlockedOr (winnt.h)

Melakukan operasi Atom ATAU pada nilai LONG yang ditentukan. Fungsi ini mencegah lebih dari satu utas menggunakan variabel yang sama secara bersamaan.

Sintaks

LONG InterlockedOr(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Parameter

[in, out] Destination

Penunjuk ke operand pertama. Nilai ini akan diganti dengan hasil operasi.

[in] Value

Operan kedua.

Nilai kembali

Fungsi mengembalikan nilai asli parameter Tujuan .

Keterangan

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.

Untuk sistem berbasis Intel Itanium dan arsitektur x64, fungsi ini diimplementasikan menggunakan kompilator intrinsik. Untuk arsitektur x86, gunakan pengkompilasi _InterlockedOr secara langsung.

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

Sistem berbasis Itanium: Untuk aplikasi penting performa, gunakan InterlockedOrAcquire atau InterlockedOrRelease sebagai gantinya.

Catatan Fungsi ini didukung pada sistem berbasis Windows RT.
 

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header winnt.h (termasuk Windows.h)

Lihat juga

Akses Variabel Yang Saling Diblokir

InterlockedOr16

InterlockedOr16Acquire

InterlockedOr16NoFence

InterlockedOr16Release

InterlockedOr64

InterlockedOr64Acquire

InterlockedOr64NoFence

InterlockedOr64Release

InterlockedOr8

InterlockedOr8Acquire

InterlockedOr8NoFence

InterlockedOr8Release

InterlockedOrAcquire

InterlockedOrNoFence

InterlockedOrRelease

Fungsi Sinkronisasi