CWinThread
Kelas
Mewakili utas eksekusi dalam aplikasi.
Sintaks
class CWinThread : public CCmdTarget
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CWinThread::CWinThread |
Membuat CWinThread objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CWinThread::CreateThread |
Memulai eksekusi CWinThread objek. |
CWinThread::ExitInstance |
Ambil alih untuk membersihkan ketika utas Anda berakhir. |
CWinThread::GetMainWnd |
Mengambil penunjuk ke jendela utama untuk utas. |
CWinThread::GetThreadPriority |
Mendapatkan prioritas utas saat ini. |
CWinThread::InitInstance |
Ambil alih untuk melakukan inisialisasi instans utas. |
CWinThread::IsIdleMessage |
Memeriksa pesan khusus. |
CWinThread::OnIdle |
Ambil alih untuk melakukan pemrosesan waktu diam khusus utas. |
CWinThread::PostThreadMessage |
Memposting pesan ke objek lain CWinThread . |
CWinThread::PreTranslateMessage |
Memfilter pesan sebelum dikirim ke fungsi TranslateMessage Windows dan DispatchMessage . |
CWinThread::ProcessMessageFilter |
Mencegat pesan tertentu sebelum mencapai aplikasi. |
CWinThread::ProcessWndProcException |
Mencegat semua pengecualian yang tidak tertangani yang dilemparkan oleh penangan pesan dan perintah utas. |
CWinThread::PumpMessage |
Berisi perulangan pesan utas. |
CWinThread::ResumeThread |
Mengurangi jumlah penangguhan utas. |
CWinThread::Run |
Fungsi pengontrol untuk utas dengan pompa pesan. Ambil alih untuk menyesuaikan perulangan pesan default. |
CWinThread::SetThreadPriority |
Mengatur prioritas utas saat ini. |
CWinThread::SuspendThread |
Menaikkan jumlah penangguhan utas. |
Operator Publik
Nama | Deskripsi |
---|---|
CWinThread::operator HANDLE |
Mengambil handel CWinThread objek. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CWinThread::m_bAutoDelete |
Menentukan apakah akan menghancurkan objek pada penghentian utas. |
CWinThread::m_hThread |
Tangani ke utas saat ini. |
CWinThread::m_nThreadID |
ID utas saat ini. |
CWinThread::m_pActiveWnd |
Penunjuk ke jendela utama aplikasi kontainer saat server OLE aktif di tempat. |
CWinThread::m_pMainWnd |
Menyimpan pointer ke jendela utama aplikasi. |
Keterangan
Alur utama eksekusi biasanya disediakan oleh objek yang berasal dari CWinApp
; CWinApp
berasal dari CWinThread
. Objek tambahan CWinThread
memungkinkan beberapa utas dalam aplikasi tertentu.
Ada dua jenis utas umum yang CWinThread
mendukung: utas pekerja dan utas antarmuka pengguna. Utas pekerja tidak memiliki pompa pesan: misalnya, utas yang melakukan penghitungan latar belakang dalam aplikasi spreadsheet. Utas antarmuka pengguna memiliki pompa pesan dan pesan proses yang diterima dari sistem. CWinApp
dan kelas yang berasal darinya adalah contoh utas antarmuka pengguna. Utas antarmuka pengguna lainnya juga dapat berasal langsung dari CWinThread
.
Objek kelas CWinThread
biasanya ada selama durasi utas. Jika Anda ingin mengubah perilaku ini, atur m_bAutoDelete
ke FALSE
.
Kelas CWinThread
ini diperlukan untuk membuat kode Anda dan MFC sepenuhnya aman utas. Data thread-local yang digunakan oleh kerangka kerja untuk mempertahankan informasi khusus utas dikelola oleh CWinThread
objek. Karena ketergantungan ini pada CWinThread
untuk menangani data lokal utas, utas apa pun yang menggunakan MFC harus dibuat oleh MFC. Misalnya, utas yang dibuat oleh fungsi _beginthread
run-time , _beginthreadex
tidak dapat menggunakan API MFC apa pun.
Untuk membuat utas, panggil AfxBeginThread
. Ada dua formulir, tergantung pada apakah Anda menginginkan utas pekerja atau antarmuka pengguna. Jika Anda menginginkan utas antarmuka pengguna, teruskan ke AfxBeginThread
penunjuk ke CRuntimeClass
kelas turunan Anda CWinThread
. Jika Anda ingin membuat utas pekerja, teruskan ke AfxBeginThread
penunjuk ke fungsi pengontrol dan parameter ke fungsi pengontrol. Untuk utas pekerja dan utas antarmuka pengguna, Anda dapat menentukan parameter opsional yang memodifikasi prioritas, ukuran tumpukan, bendera pembuatan, dan atribut keamanan. AfxBeginThread
akan mengembalikan pointer ke objek baru CWinThread
Anda.
Alih-alih memanggil AfxBeginThread
, Anda dapat membuat CWinThread
objek -turunan lalu memanggil CreateThread
. Metode konstruksi dua tahap ini berguna jika Anda ingin menggunakan CWinThread
kembali objek antara pembuatan berturut-turut dan penghentian eksekusi utas.
Untuk informasi selengkapnya tentang CWinThread
, lihat artikel Multithreading dengan C++ dan MFC, Multithreading: Membuat Utas Antarmuka Pengguna, Multithreading: Membuat Utas Pekerja, dan Multithreading: Cara Menggunakan Kelas Sinkronisasi.
Hierarki Warisan
CWinThread
Persyaratan
Header: afxwin.h
CWinThread::CreateThread
Membuat utas untuk dijalankan dalam ruang alamat proses panggilan.
BOOL CreateThread(
DWORD dwCreateFlags = 0,
UINT nStackSize = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
Parameter
dwCreateFlags
Menentukan bendera tambahan yang mengontrol pembuatan utas. Bendera ini dapat berisi salah satu dari dua nilai:
CREATE_SUSPENDED
Mulai utas dengan jumlah yang ditangguhkan. GunakanCREATE_SUSPENDED
jika Anda ingin menginisialisasi dataCWinThread
anggota objek apa pun, sepertim_bAutoDelete
atau anggota kelas turunan Anda, sebelum utas mulai berjalan. Setelah inisialisasi Anda selesai, gunakanCWinThread::ResumeThread
untuk memulai utas yang berjalan. Utas tidak akan dijalankan sampaiCWinThread::ResumeThread
dipanggil.0 Mulai utas segera setelah pembuatan.
nStackSize
Menentukan ukuran dalam byte tumpukan untuk utas baru. Jika 0, ukuran tumpukan default ke ukuran yang sama dengan utas utama proses.
lpSecurityAttrs
Menunjuk ke SECURITY_ATTRIBUTES
struktur yang menentukan atribut keamanan untuk utas.
Tampilkan Nilai
Bukan nol jika utas berhasil dibuat; jika tidak, 0.
Keterangan
Gunakan AfxBeginThread
untuk membuat objek utas dan menjalankannya dalam satu langkah. Gunakan CreateThread
jika Anda ingin menggunakan kembali objek utas antara pembuatan berturut-turut dan penghentian eksekusi utas.
CWinThread::CWinThread
Membuat CWinThread
objek.
CWinThread();
Keterangan
Untuk memulai eksekusi utas, panggil CreateThread
fungsi anggota. Anda biasanya akan membuat utas dengan memanggil AfxBeginThread
, yang akan memanggil konstruktor ini dan CreateThread
.
CWinThread::ExitInstance
Dipanggil oleh kerangka kerja dari dalam fungsi anggota yang jarang ditimpa Run
untuk keluar dari instans utas ini, atau jika panggilan gagal InitInstance
.
virtual int ExitInstance();
Tampilkan Nilai
Kode keluar utas; 0 menunjukkan tidak ada kesalahan, dan nilai yang lebih besar dari 0 menunjukkan kesalahan. Nilai ini dapat diambil dengan memanggil GetExitCodeThread
.
Keterangan
Jangan panggil fungsi anggota ini dari mana saja tetapi dalam Run
fungsi anggota. Fungsi anggota ini hanya digunakan dalam utas antarmuka pengguna.
Implementasi default fungsi ini menghapus CWinThread
objek jika m_bAutoDelete
adalah TRUE
. Ambil alih fungsi ini jika Anda ingin melakukan pembersihan tambahan saat utas Anda berakhir. Implementasi ExitInstance
Anda harus memanggil versi kelas dasar setelah kode Anda dijalankan.
CWinThread::GetMainWnd
Jika aplikasi Anda adalah server OLE, panggil fungsi ini untuk mengambil penunjuk ke jendela utama aktif aplikasi alih-alih langsung merujuk ke m_pMainWnd
anggota objek aplikasi.
virtual CWnd* GetMainWnd();
Tampilkan Nilai
Fungsi ini mengembalikan penunjuk ke salah satu dari dua jenis jendela. Jika utas Anda adalah bagian dari server OLE dan memiliki objek yang aktif di tempat di dalam kontainer aktif, fungsi ini mengembalikan CWinApp::m_pActiveWnd
anggota CWinThread
data objek.
Jika tidak ada objek yang aktif di tempat dalam kontainer atau aplikasi Anda bukan server OLE, fungsi ini mengembalikan anggota data objek utas m_pMainWnd
Anda.
Keterangan
Untuk utas antarmuka pengguna, ini setara dengan secara langsung merujuk ke m_pActiveWnd
anggota objek aplikasi Anda.
Jika aplikasi Anda bukan server OLE, maka memanggil fungsi ini setara dengan langsung merujuk ke m_pMainWnd
anggota objek aplikasi Anda.
Ambil alih fungsi ini untuk mengubah perilaku default.
CWinThread::GetThreadPriority
Mendapatkan tingkat prioritas utas saat ini dari utas ini.
int GetThreadPriority();
Tampilkan Nilai
Tingkat prioritas utas saat ini dalam kelas prioritasnya. Nilai yang dikembalikan akan menjadi salah satu dari berikut ini, yang tercantum dari prioritas tertinggi ke terendah:
THREAD_PRIORITY_TIME_CRITICAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_IDLE
Untuk informasi selengkapnya tentang prioritas ini, lihat SetThreadPriority
di Windows SDK.
CWinThread::InitInstance
InitInstance
harus ditimpa untuk menginisialisasi setiap instans baru utas antarmuka pengguna.
virtual BOOL InitInstance();
Tampilkan Nilai
Bukan nol jika inisialisasi berhasil; jika tidak, 0.
Keterangan
Biasanya, Anda mengambil alih InitInstance
untuk melakukan tugas yang harus diselesaikan saat utas pertama kali dibuat.
Fungsi anggota ini hanya digunakan dalam utas antarmuka pengguna. Lakukan inisialisasi utas pekerja dalam fungsi pengontrol yang diteruskan ke AfxBeginThread
.
CWinThread::IsIdleMessage
Ambil alih fungsi ini agar tidak OnIdle
dipanggil setelah pesan tertentu dihasilkan.
virtual BOOL IsIdleMessage(MSG* pMsg);
Parameter
pMsg
Menunjuk ke pesan saat ini yang sedang diproses.
Tampilkan Nilai
Bukan nol jika OnIdle
harus dipanggil setelah memproses pesan; jika tidak, 0.
Keterangan
Implementasi default tidak memanggil OnIdle
setelah pesan dan pesan mouse redundan yang dihasilkan oleh karet berkedip.
Jika aplikasi telah membuat timer singkat, OnIdle
akan sering dipanggil, menyebabkan masalah performa. Untuk meningkatkan performa aplikasi seperti itu, ambil alih IsIdleMessage
di kelas -turunan aplikasi CWinApp
untuk memeriksa WM_TIMER
pesan sebagai berikut:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
Penanganan WM_TIMER
dengan cara ini akan meningkatkan performa aplikasi yang menggunakan timer pendek.
CWinThread::m_bAutoDelete
Menentukan apakah CWinThread
objek harus dihapus secara otomatis pada penghentian utas.
BOOL m_bAutoDelete;
Keterangan
Anggota m_bAutoDelete
data adalah variabel publik jenis BOOL.
Nilai m_bAutoDelete
tidak memengaruhi bagaimana handel utas yang mendasar ditutup, tetapi memengaruhi waktu penutupan handel. Handel utas selalu ditutup ketika CWinThread
objek dihancurkan.
CWinThread::m_hThread
Tangani ke utas yang dilampirkan ke ini CWinThread
.
HANDLE m_hThread;
Keterangan
Anggota m_hThread
data adalah variabel publik jenis HANDLE
. Ini hanya valid jika objek utas kernel yang mendasar saat ini ada, dan handel belum ditutup.
Destruktor CWinThread
memanggil CloseHandle
di m_hThread
. Jika m_bAutoDelete
adalah TRUE
ketika utas dihentikan, CWinThread
objek dihancurkan, yang membatalkan penunjuk apa pun ke CWinThread
objek dan variabel anggotanya. Anda mungkin memerlukan m_hThread
anggota untuk memeriksa nilai keluar utas, atau menunggu sinyal. Untuk mempertahankan CWinThread
objek dan anggotanya m_hThread
selama eksekusi utas dan setelah dihentikan, atur m_bAutoDelete
ke FALSE
sebelum Anda mengizinkan eksekusi utas untuk melanjutkan. Jika tidak, utas dapat mengakhiri, menghancurkan CWinThread
objek, dan menutup handel sebelum Anda mencoba menggunakannya. Jika Anda menggunakan teknik ini, Anda bertanggung jawab untuk menghapus CWinThread
objek.
CWinThread::m_nThreadID
ID utas yang dilampirkan ke ini CWinThread
.
DWORD m_nThreadID;
Keterangan
Anggota m_nThreadID
data adalah variabel publik jenis DWORD
. Ini hanya valid jika objek utas kernel yang mendasar saat ini ada.
Lihat juga komentar tentang m_hThread
masa pakai.
Contoh
Lihat contoh untuk AfxGetThread
.
CWinThread::m_pActiveWnd
Gunakan anggota data ini untuk menyimpan penunjuk ke objek jendela aktif utas Anda.
CWnd* m_pActiveWnd;
Keterangan
Pustaka Kelas Microsoft Foundation akan secara otomatis mengakhiri utas Anda saat jendela yang dirujuk oleh m_pActiveWnd
ditutup. Jika utas ini adalah utas utama untuk aplikasi, aplikasi juga akan dihentikan. Jika anggota data ini adalah NULL
, jendela aktif untuk objek aplikasi CWinApp
akan diwariskan. m_pActiveWnd
adalah variabel publik jenis CWnd*
.
Biasanya, Anda mengatur variabel anggota ini saat Anda mengambil alih InitInstance
. Dalam utas pekerja, nilai anggota data ini diwarisi dari utas induknya.
CWinThread::m_pMainWnd
Gunakan anggota data ini untuk menyimpan penunjuk ke objek jendela utama utas Anda.
CWnd* m_pMainWnd;
Keterangan
Pustaka Kelas Microsoft Foundation akan secara otomatis mengakhiri utas Anda saat jendela yang dirujuk oleh m_pMainWnd
ditutup. Jika utas ini adalah utas utama untuk aplikasi, aplikasi juga akan dihentikan. Jika anggota data ini adalah NULL
, jendela utama untuk objek aplikasi CWinApp
akan digunakan untuk menentukan kapan harus mengakhiri utas. m_pMainWnd
adalah variabel publik jenis CWnd*
.
Biasanya, Anda mengatur variabel anggota ini saat Anda mengambil alih InitInstance
. Dalam utas pekerja, nilai anggota data ini diwarisi dari utas induknya.
CWinThread::OnIdle
Ambil alih fungsi anggota ini untuk melakukan pemrosesan waktu diam.
virtual BOOL OnIdle(LONG lCount);
Parameter
lCount
Penghitung bertahap setiap kali OnIdle
dipanggil ketika antrean pesan utas kosong. Jumlah ini diatur ulang ke 0 setiap kali pesan baru diproses. Anda dapat menggunakan lCount
parameter untuk menentukan lamanya waktu relatif utas diam tanpa memproses pesan.
Tampilkan Nilai
Nonzero untuk menerima lebih banyak waktu pemrosesan diam; 0 jika tidak ada lagi waktu pemrosesan diam yang diperlukan.
Keterangan
OnIdle
dipanggil dalam perulangan pesan default saat antrean pesan utas kosong. Gunakan penimpaan Anda untuk memanggil tugas pengatur diam latar belakang Anda sendiri.
OnIdle
harus mengembalikan 0 untuk menunjukkan bahwa tidak ada waktu pemrosesan menganggur tambahan yang diperlukan. Parameter lCount
bertahap setiap kali OnIdle
dipanggil ketika antrean pesan kosong dan diatur ulang ke 0 setiap kali pesan baru diproses. Anda dapat memanggil rutinitas menganggur yang berbeda berdasarkan jumlah ini.
Implementasi default fungsi anggota ini membebaskan objek sementara dan pustaka tautan dinamis yang tidak digunakan dari memori.
Fungsi anggota ini hanya digunakan dalam utas antarmuka pengguna.
Karena aplikasi tidak dapat memproses pesan hingga OnIdle
kembali, jangan lakukan tugas panjang dalam fungsi ini.
CWinThread::operator HANDLE
Mengambil handel CWinThread
objek.
operator HANDLE() const;
Tampilkan Nilai
Jika berhasil, handel objek utas; jika tidak, NULL
.
Keterangan
Gunakan handel untuk langsung memanggil WINDOWS API.
CWinThread::PostThreadMessage
Dipanggil untuk memposting pesan yang ditentukan pengguna ke objek lain CWinThread
.
BOOL PostThreadMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameter
message
ID pesan yang ditentukan pengguna.
wParam
Parameter pesan pertama.
lParam
Parameter pesan kedua.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Pesan yang diposting dipetakan ke handler pesan yang tepat oleh makro ON_THREAD_MESSAGE
peta pesan .
Catatan
Saat Anda memanggil PostThreadMessage
, pesan ditempatkan dalam antrean pesan utas. Namun, karena pesan yang diposting dengan cara ini tidak terkait dengan jendela, MFC tidak akan mengirimkannya ke penangan pesan atau perintah. Untuk menangani pesan ini, ambil alih PreTranslateMessage()
fungsi kelas turunan Anda CWinApp
, dan tangani pesan secara manual.
CWinThread::PreTranslateMessage
Ambil alih fungsi ini untuk memfilter pesan jendela sebelum dikirim ke fungsi TranslateMessage
Windows dan DispatchMessage
.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
pMsg
Menunjuk ke struktur yang MSG
berisi pesan yang akan diproses.
Tampilkan Nilai
Bukan nol jika pesan sepenuhnya diproses dan tidak boleh diproses PreTranslateMessage
lebih lanjut. Nol jika pesan harus diproses dengan cara normal.
Keterangan
Fungsi anggota ini hanya digunakan dalam utas antarmuka pengguna.
CWinThread::ProcessMessageFilter
Fungsi hook kerangka kerja memanggil fungsi anggota ini untuk memfilter dan merespons pesan Windows tertentu.
virtual BOOL ProcessMessageFilter(
int code,
LPMSG lpMsg);
Parameter
code
Menentukan kode kait. Fungsi anggota ini menggunakan kode untuk menentukan cara memproses lpMsg
.
lpMsg
Penunjuk ke struktur WindowsMSG
.
Tampilkan Nilai
Bukan nol jika pesan diproses; jika tidak, 0.
Keterangan
Fungsi kait memproses peristiwa sebelum dikirim ke pemrosesan pesan normal aplikasi.
Jika Anda mengambil alih fitur lanjutan ini, pastikan untuk memanggil versi kelas dasar untuk mempertahankan pemrosesan kait kerangka kerja.
CWinThread::ProcessWndProcException
Kerangka kerja memanggil fungsi anggota ini setiap kali handler tidak menangkap pengecualian yang dilemparkan dalam salah satu pesan utas atau handler perintah Anda.
virtual LRESULT ProcessWndProcException(
CException* e,
const MSG* pMsg);
Parameter
e
Menunjuk ke pengecualian yang tidak tertangani.
pMsg
Menunjuk ke struktur yang MSG
berisi informasi tentang pesan windows yang menyebabkan kerangka kerja melemparkan pengecualian.
Tampilkan Nilai
-1 jika WM_CREATE
pengecualian dihasilkan; jika tidak, 0.
Keterangan
Jangan panggil fungsi anggota ini secara langsung.
Implementasi default fungsi anggota ini hanya menangani pengecualian yang dihasilkan dari pesan berikut:
Perintah | Perbuatan |
---|---|
WM_CREATE |
Gagal. |
WM_PAINT |
Validasi jendela yang terpengaruh, sehingga mencegah pesan lain WM_PAINT dihasilkan. |
Ambil alih fungsi anggota ini untuk memberikan penanganan global atas pengecualian Anda. Panggil fungsionalitas dasar hanya jika Anda ingin menampilkan perilaku default.
Fungsi anggota ini hanya digunakan dalam utas yang memiliki pompa pesan.
CWinThread::PumpMessage
Berisi perulangan pesan utas.
virtual BOOL PumpMessage();
Keterangan
PumpMessage
berisi perulangan pesan utas. PumpMessage
dipanggil oleh CWinThread
untuk memompa pesan utas. Anda dapat memanggil PumpMessage
langsung untuk memaksa pesan diproses, atau Anda dapat mengambil alih PumpMessage
untuk mengubah perilaku defaultnya.
Memanggil PumpMessage
langsung dan mengesampingkan perilaku defaultnya disarankan hanya untuk pengguna tingkat lanjut.
CWinThread::ResumeThread
Dipanggil untuk melanjutkan eksekusi utas yang ditangguhkan oleh SuspendThread
fungsi anggota, atau utas yang dibuat dengan CREATE_SUSPENDED
bendera.
DWORD ResumeThread();
Tampilkan Nilai
Jumlah penangguhan utas sebelumnya jika berhasil; 0xFFFFFFFF
Sebaliknya. Jika nilai yang dikembalikan adalah nol, utas saat ini tidak ditangguhkan. Jika nilai yang dikembalikan adalah satu, utas ditangguhkan, tetapi sekarang dimulai ulang. Nilai pengembalian apa pun yang lebih besar dari satu berarti utas tetap ditangguhkan.
Keterangan
Jumlah penangguhan utas saat ini berkurang satu. Jika jumlah penangguhan dikurangi menjadi nol, utas melanjutkan eksekusi; jika tidak, utas tetap ditangguhkan.
CWinThread::Run
Menyediakan perulangan pesan default untuk utas antarmuka pengguna.
virtual int Run();
Tampilkan Nilai
Nilai int
yang dikembalikan oleh utas. Nilai ini dapat diambil dengan memanggil GetExitCodeThread
.
Keterangan
Run
memperoleh dan mengirimkan pesan Windows hingga aplikasi menerima WM_QUIT
pesan. Jika antrean pesan utas OnIdle
saat ini tidak berisi pesan, Run
panggilan untuk melakukan pemrosesan waktu diam. Pesan masuk masuk masuk ke PreTranslateMessage
fungsi anggota untuk pemrosesan khusus lalu ke fungsi TranslateMessage
Windows untuk terjemahan keyboard standar. Akhirnya, DispatchMessage
fungsi Windows dipanggil.
Run
jarang ditimpa, tetapi Anda dapat mengambil alihnya untuk menerapkan perilaku khusus.
Fungsi anggota ini hanya digunakan dalam utas antarmuka pengguna.
CWinThread::SetThreadPriority
Fungsi ini menetapkan tingkat prioritas utas saat ini dalam kelas prioritasnya.
BOOL SetThreadPriority(int nPriority);
Parameter
nPriority
Menentukan tingkat prioritas utas baru dalam kelas prioritasnya. Parameter ini harus merupakan salah satu nilai berikut, yang tercantum dari prioritas tertinggi ke terendah:
THREAD_PRIORITY_TIME_CRITICAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_IDLE
Untuk informasi selengkapnya tentang prioritas ini, lihat SetThreadPriority
di Windows SDK.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Ini hanya dapat dipanggil setelah CreateThread
berhasil dikembalikan.
CWinThread::SuspendThread
Menaikkan jumlah penangguhan utas saat ini.
DWORD SuspendThread();
Tampilkan Nilai
Jumlah penangguhan utas sebelumnya jika berhasil; 0xFFFFFFFF
Sebaliknya.
Keterangan
Jika ada utas yang memiliki jumlah ditangguhkan di atas nol, utas tersebut tidak dijalankan. Utas dapat dilanjutkan dengan memanggil ResumeThread
fungsi anggota.
Lihat juga
CCmdTarget
Kelas
Bagan Hierarki
CWinApp
Kelas
CCmdTarget
Kelas