線程:線程與父進程的其他線程一起共享進程的所有資源,線程本身不擁有系統資源,只是擁有一些運行必須的數據結構而已
1)創建線程與退出線程
創建的新線程一直運行,直到滿足下面的任何一種情況時退出:
1)創建線程時指定要執行的函數執行完畢
2)創建線程的進程退出
3)某個線程調用了exec函數
4) 線程調用pthread_exit()函數退出
5)線程被pthread_cancel()終止。
基本線程的管理:
pthread_join()爲了讓主線程等待創建的線程運行完成後才退出。
取消線程:
線程的屬性:
初始化線程屬性:
pthread_attr_init(pthread_attr_t * __attr);
銷燬已經初始化好了的線程:
extern int pthread_attr_destory(pthread_attr_t *__attr) __THROW;
設置detachstate屬性:
extern int pthread_attr_setdetachstate(pthread_attr_t *__attr, int __detachstate);
獲取detachstate屬性:
extern int pthread_attr_getdetachstate(pthread_attr_t *__attr, int __detachstate);
設置/獲取schedparam屬性
設置/獲取schedpolicy屬性
設置獲取inheritsched屬性
設置/獲取contentionscope屬性
線程調度