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.
Kelas ini menyediakan metode untuk meningkatkan dan mengurangi nilai variabel.
Sintaks
class CComSingleThreadModel
Anggota
Typedef Publik
| Nama | Deskripsi |
|---|---|
| CComSingleThreadModel::AutoCriticalSection | Mereferensikan kelas CComFakeCriticalSection. |
| CComSingleThreadModel::CriticalSection | CComFakeCriticalSectionKelas referensi . |
| CComSingleThreadModel::ThreadModelNoCS | CComSingleThreadModelReferensi . |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CComSingleThreadModel::D ecrement | Mengurangi nilai variabel yang ditentukan. Implementasi ini tidak aman untuk utas. |
| CComSingleThreadModel::Increment | Menaikkan nilai variabel yang ditentukan. Implementasi ini tidak aman untuk utas. |
Keterangan
CComSingleThreadModel menyediakan metode untuk meningkatkan dan mengurangi nilai variabel. Tidak seperti CComMultiThreadModel dan CComMultiThreadModelNoCS, metode ini tidak aman untuk thread.
Biasanya, Anda menggunakan CComSingleThreadModel melalui salah satu dari dua typedef nama, baik CComObjectThreadModel atau CComGlobalsThreadModel. Kelas yang dirujuk oleh masing-masing typedef tergantung pada model utas yang digunakan, seperti yang ditunjukkan dalam tabel berikut:
| typedef | Model utas tunggal | Model utas apartemen | Model utas gratis |
|---|---|---|---|
CComObjectThreadModel |
S | S | M |
CComGlobalsThreadModel |
S | M | M |
S= CComSingleThreadModel; M= CComMultiThreadModel
CComSingleThreadModel itu sendiri mendefinisikan tiga typedef nama. ThreadModelNoCSCComSingleThreadModelreferensi . AutoCriticalSection dan CriticalSection kelas referensi CComFakeCriticalSection, yang menyediakan metode kosong yang terkait dengan mendapatkan dan merilis kepemilikan bagian penting.
Persyaratan
Header: atlbase.h
CComSingleThreadModel::AutoCriticalSection
Saat menggunakan CComSingleThreadModel, nama AutoCriticalSection mereferensikan typedef kelas CComFakeCriticalSection.
typedef CComFakeCriticalSection AutoCriticalSection;
Keterangan
Karena CComFakeCriticalSection tidak menyediakan bagian penting, metodenya tidak melakukan apa pun.
CComMultiThreadModel dan CComMultiThreadModelNoCS berisi definisi untuk AutoCriticalSection. Tabel berikut menunjukkan hubungan antara kelas model utas dan kelas bagian penting yang dirujuk oleh AutoCriticalSection:
| Kelas yang ditentukan dalam | Kelas yang dirujuk |
|---|---|
CComSingleThreadModel |
CComFakeCriticalSection |
CComMultiThreadModel |
CComAutoCriticalSection |
CComMultiThreadModelNoCS |
CComFakeCriticalSection |
Selain AutoCriticalSection, Anda dapat menggunakan typedef nama CriticalSection. Anda tidak boleh menentukan AutoCriticalSection dalam objek global atau anggota kelas statis jika Anda ingin menghilangkan kode startup CRT.
Contoh
Lihat CComMultiThreadModel::AutoCriticalSection.
CComSingleThreadModel::CriticalSection
Saat menggunakan CComSingleThreadModel, nama CriticalSection mereferensikan typedef kelas CComFakeCriticalSection.
typedef CComFakeCriticalSection CriticalSection;
Keterangan
Karena CComFakeCriticalSection tidak menyediakan bagian penting, metodenya tidak melakukan apa pun.
CComMultiThreadModel dan CComMultiThreadModelNoCS berisi definisi untuk CriticalSection. Tabel berikut menunjukkan hubungan antara kelas model utas dan kelas bagian penting yang dirujuk oleh CriticalSection:
| Kelas yang ditentukan dalam | Kelas yang dirujuk |
|---|---|
CComSingleThreadModel |
CComFakeCriticalSection |
CComMultiThreadModel |
CComCriticalSection |
CComMultiThreadModelNoCS |
CComFakeCriticalSection |
Selain CriticalSection, Anda dapat menggunakan typedef nama AutoCriticalSection. Anda tidak boleh menentukan AutoCriticalSection dalam objek global atau anggota kelas statis jika Anda ingin menghilangkan kode startup CRT.
Contoh
Lihat CComMultiThreadModel::AutoCriticalSection.
CComSingleThreadModel::D ecrement
Fungsi statis ini mengurangi nilai variabel yang diacu oleh p.
static ULONG WINAPI Decrement(LPLONG p) throw();
Parameter
p
[di] Penunjuk ke variabel yang akan diderementasi.
Tampilkan Nilai
Hasil dari dekremen.
CComSingleThreadModel::Increment
Fungsi statis ini menaikkan nilai variabel yang diacu oleh p.
static ULONG WINAPI Increment(LPLONG p) throw();
Parameter
p
[di] Penunjuk ke variabel yang akan dinaikkan.
Tampilkan Nilai
Hasil dari kenaikan.
CComSingleThreadModel::ThreadModelNoCS
Saat menggunakan CComSingleThreadModel, typedef nama ThreadModelNoCS hanya mereferensikan CComSingleThreadModel.
typedef CComSingleThreadModel ThreadModelNoCS;
Keterangan
CComMultiThreadModel dan CComMultiThreadModelNoCS berisi definisi untuk ThreadModelNoCS. Tabel berikut menunjukkan hubungan antara kelas model utas dan kelas yang dirujuk oleh ThreadModelNoCS:
| Kelas yang ditentukan dalam | Kelas yang dirujuk |
|---|---|
CComSingleThreadModel |
CComSingleThreadModel |
CComMultiThreadModel |
CComMultiThreadModelNoCS |
CComMultiThreadModelNoCS |
CComMultiThreadModelNoCS |
Contoh
Lihat CComMultiThreadModel::AutoCriticalSection.