pthread常用API
pthread是POSIX線程庫,提供了一系列API函數(shù)來進(jìn)行多線程編程。以下是一些重要的pthread API函數(shù):
pthread_create()
:創(chuàng)建一個(gè)新線程。pthread_join()
:等待一個(gè)線程結(jié)束。pthread_exit()
:終止當(dāng)前線程。pthread_mutex_init()
:初始化一個(gè)互斥體。pthread_mutex_destroy()
:銷毀一個(gè)互斥體。pthread_mutex_lock()
:加鎖一個(gè)互斥體。pthread_mutex_unlock()
:解鎖一個(gè)互斥體。pthread_cond_init()
:初始化一個(gè)條件變量。pthread_cond_destroy()
:銷毀一個(gè)條件變量。pthread_cond_wait()
:等待一個(gè)條件變量。pthread_cond_signal()
:發(fā)送一個(gè)信號(hào)給條件變量。pthread_cond_broadcast()
:廣播一個(gè)信號(hào)給條件變量。pthread_attr_init()
:初始化線程屬性。pthread_attr_destroy()
:銷毀線程屬性。pthread_attr_getdetachstate()
:獲取線程分離狀態(tài)。pthread_attr_setdetachstate()
:設(shè)置線程分離狀態(tài)。pthread_attr_getstack()
:獲取線程棧地址和大小。pthread_attr_setstack()
:設(shè)置線程棧地址和大小。pthread_attr_getguardsize()
:獲取線程棧末尾的警戒緩沖區(qū)大小。pthread_attr_setguardsize()
:設(shè)置線程棧末尾的警戒緩沖區(qū)大小。pthread_attr_getschedpolicy()
:獲取線程調(diào)度策略。pthread_attr_setschedpolicy()
:設(shè)置線程調(diào)度策略。pthread_attr_getschedparam()
:獲取線程調(diào)度參數(shù)。pthread_attr_setschedparam()
:設(shè)置線程調(diào)度參數(shù)。pthread_equal()
:比較兩個(gè)線程ID是否相等。pthread_self()
:獲取當(dāng)前線程ID。pthread_mutex_trylock()
:嘗試加鎖一個(gè)互斥體,如果已被其他線程占用,則返回錯(cuò)誤碼。pthread_mutex_timedlock()
:限時(shí)等待并嘗試加鎖一個(gè)互斥體,如果在指定時(shí)間內(nèi)無法加鎖,則返回錯(cuò)誤碼。pthread_cond_timedwait()
:限時(shí)等待一個(gè)條件變量,如果在指定時(shí)間內(nèi)沒有收到信號(hào),則返回錯(cuò)誤碼。pthread_cancel()
:向指定線程發(fā)送取消請(qǐng)求,如果該線程允許取消,則終止該線程。pthread_setcancelstate()
:設(shè)置線程取消狀態(tài),可以設(shè)置為允許或禁止取消。pthread_setcanceltype()
:設(shè)置線程取消類型,可以設(shè)置為立即取消或者延遲取消。