特點
相關函式
//初始化乙個互斥量
int pthread_mutex_init(pthread_mutex_t *restrict mutexm ,const
pthread_mutexattr_t * restrict attr);
//登出乙個互斥量
int pthread_mutex_destroy(pthread_mutex_t * mutex);
//給互斥量加鎖
int pthread_mutex_lock(pthread_mutex_t *);
//給互斥量解鎖
int pthread_mutex_unlock(pthread_mutex_t *);
//嘗試給互斥量解鎖(解鎖失敗並不會阻塞執行緒)
int pthread_mutex_trylock(phtread_mutex_t *);
tip特點
相關函式
#include
//讀寫鎖初始化
int pthread_rwlock_init(pthread_rwlock_t *restrict , const
pthread_rwlockattr_t * restrict attr);
//登出讀寫鎖
int pthread_rwlock_destory(pthread_rwlock_t *rwlock);
//讀加鎖
int pthread_rwlock_rdlock(pthread_rwlock_t *);
//寫加鎖
int pthread_rwlock_wrlock(pthread_rwlock_t *);
//解鎖
int pthread_rwlock_unlock(pthread_rwlock_t *)
tips//讀寫鎖可以用mutex實現
pthread_mutex_t wirte;
pthread_mutex_t read;
int count=0;
void read()
void write()
特點
相關函式
#include
//初始化
int pthread_cond_init(pthread_cond_t *restrict cond,const
pthread_condattr_t * restrict attr);
//登出
int pthread_cond_destroy(pthread_cond_t * cond);
//等待條件
int pthread_cond_wait(pthread_cond_t* restrict cond,
pthread_mutex_t * restrict mutex);
//對乙個以上發出訊號
int pthread_cond_signal(pthread_cond_t * );
//喚醒所有的執行緒
int pthread_cond_broadcast(phtread_cond_t *);
特點
相關函式
#include
//初始化自旋鎖
int pthread_spin_init(pthread_spinlock_t *lock,int pshared);
//登出自旋鎖
int pthread_spin_destory(pthread_spinlock_t *lock)
.....
tips特點 多執行緒程式設計
1 多執行緒的基本思路不是在介面執行緒執行費時的 而是專門啟動乙個執行緒 稱作工作執行緒 來完成,介面執行緒只負責介面的 顯示 和操作,而工作執行緒只負責耗時的操作過程。2 對於普通的win32應用程式來說,執行緒可以分為兩種 介面 ui user inte ce 執行緒和工作執行緒。介面執行緒一般...
多執行緒程式設計
如何編寫執行緒安全的dll 在我的工作中經常會編寫dll,這些dll有個共同的特點就是都有乙個初始化函式,乙個資源釋放函式,其他幾個函式都是核心功能函式。而且這些dll有時會被多個程序同時呼叫,這就牽扯到多程序的多執行緒呼叫dll的問題。有點繞口,以下我根據我實踐中遇到的問題,分四種情況分享一下我解...
多執行緒程式設計
1 執行緒的狀態 建立狀態 準備好了乙個多執行緒的物件 就緒狀態 呼叫了start 方法,等待cpu進行排程 執行狀態 執行run 方法 阻塞狀態 暫時停止執行,可能將資源交給其他執行緒使用 終止狀態 死亡狀態 執行緒銷毀 2 執行緒的常用方法 thread類 取得執行緒名稱 getname thr...