Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.