多執行緒程式設計基礎

2021-04-27 07:58:39 字數 1193 閱讀 4772

一直以來,自己都不會多執行緒的程式設計。今天決定好好的補補!

一、多執行緒的基本概念

二、多執行緒中的重要函式

1、handle createthread(lpsecurity_attributes lpthreadattributes,

dword dwstacksize,

lpthread_start_routine lpstartaddress,

lpvoid lpparameter,

dword dwcreationflags,

lpdword lpthreadid);

該函式在其呼叫程序的程序空間裡建立乙個新的執行緒,並返回已建執行緒的控制代碼,其中各引數說明如下:

如果建立成功則返回執行緒的控制代碼,否則返回null。

2、dword suspendthread(handle hthread);

該函式用於掛起指定的執行緒,如果函式執行成功,則執行緒的執行被終止。

3、dword resumethread(handle hthread);

該函式用於結束執行緒的掛起狀態,執行執行緒。

4、void exitthread(dword dwexitcode);

5、bool terminatethread(handle hthread,dword dwexitcode);

一般情況下,執行緒執行結束之後,執行緒函式正常返回,但是應用程式可以呼叫terminatethread強行終止某一線程的執行。各引數含義如下:

使用terminatethread()終止某個執行緒的執行是不安全的,可能會引起系統不穩定;雖然該函式立即終止執行緒的執行,但並不釋放執行緒所占用的資源。因此,一般不建議使用該函式。

6、bool postthreadmessage(dword idthread,

uint msg,

wparam wparam,

lparam lparam);

該函式將一條訊息放入到指定執行緒的訊息佇列中,並且不等到訊息被該執行緒處理時便返回。

呼叫該函式時,如果即將接收訊息的執行緒沒有建立訊息迴圈,則該函式執行失敗。

三、demo

我按照vcbase裡的那個實驗做了下!

多執行緒程式設計基礎

值得參考 include int pthread create thread id,attr,func,arg 其中func表示該執行緒需要執行的 位址 從執行緒 處return pthread cancle終止同一程序中的另一線程 呼叫pthread exit來終止自己 設定取消執行緒的狀態和型別...

C 學習 多執行緒程式設計 多執行緒基礎

c 內建了對多執行緒程式設計的支援功能,所以相對於其他語言在多執行緒方面的問題,c 這裡就已經最小化或者不復存在。在.net framework 4.0中,c 中新增了兩個與多執行緒應用程式相關的重要功能 tpl 任務執行並行庫 和plinq 並行linq 兩者都提供對並行程式設計的支援,都可以利用...

C 多執行緒程式設計基礎

使用執行緒有幾個原因。假設從應用程式中進行網路呼叫需要一定的時間。使用者不希望分割使用者界,並且讓使用者一直等待直到從伺服器返回乙個響應為止。使用者可以同時執行其他一些操作,或者甚至取消傳送給伺服器的請求。這些都可以使用執行緒來實現。對於所有需要等待的操作,例如,因為檔案 資料庫或網路訪問都需要一定...