1.建立執行緒和退出的函式原型 :
int pthread_create(pthread_t* thread, pthread_attr_t* attr, void* (* start_routine)(void *), void *arg);
pthread_exit(0);
其他還有很多相關的函式。
2.編譯時要加上: -lpthread ;在要包含的標頭檔案中加上 #include。
3.暫停執行緒:
問題:在主程序中呼叫sleep(), 使整個程序包括它的執行緒都掛起了,所以不能完成同步的任務。
int pthread_jion(pthread_t th, void* * thread_return );
4執行緒同步:
互斥鎖(mutex), 條件變數(condition vriaible)
pthread_mutex_init( )
pthread_mutex_destory()
pthread_mutex_lock()
pthread_mutex_trylock()
pthread_mutex_unlock()
處理條件變數的一些函式:
pthread_cond_init()
pthread_cond_destroy()
pthread_cond_wait()
pthread_cond_timedwait()
pthread_cond_signal()
pthread_cond_broadcast()
5.執行緒終止
int pthread_cancel()
int pthread_setcancelstate()
int pthread_setcanceltype()
void pthread_testcancel()
Linux多執行緒程式設計
linux 多執行緒程式設計 多執行緒支援 posix 執行緒介面,稱為 pthread,pthread create 用來建立執行緒,pthread join 等待執行緒結束,函式的原型分別如下 extern int pthread create p pthread t thread,const ...
linux 多執行緒程式設計
多執行緒的使用 典型的執行緒包括乙個執行時間系統,它可以按透明的方式來管理執行緒。通常執行緒包包括對執行緒的建立和刪除,以及對互斥和條件變數的呼叫。posix標準執行緒庫具有這些呼叫。這些包還提供執行緒的動態建立和刪除,因此,直到執行時間之前,執行緒的個數不必知道。執行緒具有乙個id 乙個堆疊 乙個...
Linux 多執行緒程式設計
這篇文章總結下 linux 中多執行緒程式設計中能用到的幾個函式,當然,需要同步操作的時候還需要加鎖的操作,這裡,沒有列舉的這麼具體,只是把最常用的函式介紹下。在編寫多執行緒程式在編譯的時候需要加上 lpthread,因為用到了 pthread 庫。標頭檔案 include 功能 建立乙個執行緒 引...