win32 API實現多執行緒小例程

2021-09-27 10:06:02 字數 1810 閱讀 3700

1.api函式

2.程式設計例項

void threadfunc();    //執行緒函式

static bool m_brun; //全域性變數

對話方塊類內**:

handle hthread;       //執行緒函式的控制代碼

dword threadid; //執行緒函式的id

原始檔:

類外新增**:

//執行緒函式

void threadfunc()

}

類內新增**:

//啟動函式

void cmultithread1dlg::onbnclickedstart()

//暫停函式

void cmultithread1dlg::onbnclickedstop()

1.2.2 例項2

建立對話方塊,在對話方塊上新增1個按鈕和乙個編輯框,id分別為idc_start,idc_count。並給編輯框新增int型變數,m_ncount。

標頭檔案:

類外新增**:

void threadfunc(int integer);   //執行緒函式
對話方塊類內**:

handle hthread;       //執行緒函式的控制代碼

dword threadid; //執行緒函式的id

原始檔:

類外新增**:

//執行緒函式

void threadfunc(int integer)

}

類內新增**:

//訊息函式

void cmultithread2dlg::onbnclickedstart()

1.2.3 例項3

建立對話方塊,在對話方塊上新增乙個按鈕、乙個編輯框和乙個進度條,id分別為idc_millisecond,idc_progress1,idc_start。並給編輯框新增int型變數,m_nmillisecond;為進度新增cprogressctrl型變數,m_ctrlprogress。

標頭檔案:

類外新增變數:

struct threadinfo

;//執行緒函式

uint threadfunc(lpvoid lpparam);

static threadinfo info; //執行緒需要使用的變數

類內新增變數:

handle hthread;   //執行緒控制代碼

dword threadid; //執行緒id

int m_nmillisecond;

cprogressctrl m_ctrlprogress;

原始檔:

類外新增**:

//執行緒函式

uint threadfunc(lpvoid lpparam)

return 0;

}

類內新增**:

//訊息函式

void cmultithread3dlg::onbnclickedstart()

準確的說,這些**並不是自己原創,是參考一篇文件《多執行緒程式設計的入門教程》。但根據自己的要求也改了改,也就假裝自己是原創吧。

多執行緒程式設計win32 API

win32 提供了一系列的api函式來完成執行緒的建立 掛起 恢復 終結以及通訊等工作。下面將選取其中的一些重要函式進行說明。1 handle createthread lpsecurity attributes lpthreadattributes,dword dwstacksize,lpthre...

Win32 API 多執行緒程式設計例程一

例程1 multithread1 建立乙個基於對話方塊的工程multithread1,在對話方塊idd multithread1 dialog中加入兩個按鈕和乙個編輯框,兩個按鈕的id分別是idc start,idc stop 標題分別為 啟動 停止 idc stop的屬性選中disabled 編輯...

Win32 API 多執行緒程式設計例程二

例程2 multithread2 該執行緒演示了如何傳送乙個乙個整型的引數到乙個執行緒中,以及如何等待乙個執行緒完成處理。建立乙個基於對話方塊的工程multithread2,在對話方塊idd multithread2 dialog中加入乙個編輯框和乙個按鈕,id分別是idc count,idc st...