Bagikan melalui


sinkronkan

Menyinkronkan akses ke metode target.

Sintaks

[synchronize]

Keterangan

Atribut C++ yang disinkronkan mengimplementasikan dukungan untuk menyinkronkan metode target objek. Sinkronisasi memungkinkan beberapa objek menggunakan sumber daya umum (seperti metode kelas) dengan mengontrol akses metode target.

Kode yang dimasukkan oleh atribut ini memanggil metode yang tepat Lock (ditentukan oleh model utas) di awal metode target. Ketika metode keluar, Unlock secara otomatis dipanggil. Untuk informasi selengkapnya tentang fungsi-fungsi ini, lihat CComAutoThreadModule::Lock

Atribut ini mengharuskan atribut coclass, progid, atau vi_progid (atau atribut lain yang menyiratkan salah satu dari atribut ini) juga diterapkan ke elemen yang sama. Jika ada atribut tunggal yang digunakan, dua atribut lainnya akan diterapkan secara otomatis. Misalnya, jika progid diterapkan, vi_progid dan coclass juga diterapkan.

Contoh

Kode berikut menyediakan sinkronisasi untuk UpdateBalance metode CMyClass objek.

// cpp_attr_ref_synchronize.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"

[module(name="SYNC")];

[coclass,
threading(both),
vi_progid("MyProject.MyClass"),
progid("MyProject.MyClass.1"),
uuid("7a7baa0d-59b8-4576-b754-79d07e1d1cc3")
]
class CMyClass {
   float m_nBalance;

   [synchronize]
   void UpdateBalance(float nAdjust) {
      m_nBalance += nAdjust;
   }
};

Persyaratan

Konteks atribut Nilai
Berlaku untuk Metode kelas, metode
Berulang No
Atribut yang diperlukan Satu atau beberapa hal berikut ini: coclass, , progidatau vi_progid.
Atribut tidak valid Tidak

Untuk informasi selengkapnya tentang konteks atribut, lihat Konteks Atribut.

Lihat juga

Atribut COM