多執行緒程式設計

2021-08-02 10:41:49 字數 1027 閱讀 5093

#include int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*fun)(void *), void *arg);

/* * 建立執行緒

* @tid —— 執行緒id的型別為pthread_t,成功建立後的執行緒由tid返回。

* @attr —— 指定建立執行緒的屬性,如執行緒優先順序、初試棧大小、是否為守護程序。一般使用null來指定預設值。

* @func —— 通過func來指定建立執行緒後,所有執行的函式。

* @arg —— 執行緒執行函式的引數

* return —— 建立成功返回0.

*/int pthread_join(pthread_t *tid, void **status);

/* * 等待執行緒tid退出

* @tid —— 指定要等待的執行緒id

* @status —— 如果不為null,那麼執行緒的返回值儲存在status指向的空間中

* return —— 執行成功返回0

*/void pthread_exit(void *status)

/* * 終止執行緒

* @status —— 指定執行緒終止的返回值

*/pthread_t pthread_self(void)

/* * 獲取當前執行緒的id

*/int pthread_equal(pthread_t tid1, pthread_t tid2);

/* * 比較兩個執行緒id

* 相等返回非0值, 不等返回0

*/int pthread_cancel(pthead_t tid);

/* * 取消統一程序中的其他執行緒

* 成功返回0, 失敗返回錯誤編號

*/int pthread_detach(pthrad_t tid);

/* * 指定執行緒變為分離狀態

* 分離狀態的執行緒退出,將釋放多有的資源,不是分離狀態的執行緒退出後就變成了僵死執行緒

*/

多執行緒程式設計

1 多執行緒的基本思路不是在介面執行緒執行費時的 而是專門啟動乙個執行緒 稱作工作執行緒 來完成,介面執行緒只負責介面的 顯示 和操作,而工作執行緒只負責耗時的操作過程。2 對於普通的win32應用程式來說,執行緒可以分為兩種 介面 ui user inte ce 執行緒和工作執行緒。介面執行緒一般...

多執行緒程式設計

如何編寫執行緒安全的dll 在我的工作中經常會編寫dll,這些dll有個共同的特點就是都有乙個初始化函式,乙個資源釋放函式,其他幾個函式都是核心功能函式。而且這些dll有時會被多個程序同時呼叫,這就牽扯到多程序的多執行緒呼叫dll的問題。有點繞口,以下我根據我實踐中遇到的問題,分四種情況分享一下我解...

多執行緒程式設計

1 執行緒的狀態 建立狀態 準備好了乙個多執行緒的物件 就緒狀態 呼叫了start 方法,等待cpu進行排程 執行狀態 執行run 方法 阻塞狀態 暫時停止執行,可能將資源交給其他執行緒使用 終止狀態 死亡狀態 執行緒銷毀 2 執行緒的常用方法 thread類 取得執行緒名稱 getname thr...