日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【linux高级程序设计】(第十二章)Linux多线程编程 4

發布時間:2025/1/21 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【linux高级程序设计】(第十二章)Linux多线程编程 4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讀寫鎖

?

書上有讀者寫者的代碼,我實在是懶得實現一遍了。跟之前的代碼差不多。

?

多線程異步信號處理

?

int pthread_kill (pthread_t __threadid, int __signo) :發送信號。第二個參數為0時表示檢測指定線程是否存在。成功返回0.

int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t * __restrict __oldmask) :設置調用線程的信號掩碼。

參數一:表示方法,包括 SIG_BLOCK, SIG_UNBLOCK, SIG_SETMASK

?

書上有個例子,同樣懶得抄....

?

線程屬性控制

線程屬性結構體包括

?

pthread_t pthread_self (void) : 獲取線程ID。該ID在一個進程中唯一,但在不同的進程中可能相同。

syscall(SYS_gettid) : 獲取線程的pid, 是唯一的。 不能用ps命令查看

?

?

int pthread_attr_init (pthread_attr_t *__attr) :?初始化線程屬性對象

默認的屬性值為:

?

int pthread_attr_destroy (pthread_attr_t *__attr) :銷毀一個已經初始化的線程屬性

?

獲取/設置線程分離狀態or可連接狀態

int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) : 設置detachstate屬性

  PTHREAD_CREATE_DETACHED :處于分離狀態

  PTHREAD_CREATE_JOINABLE :可連接狀態(默認)

int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, int *__detachstate)?: 獲取detachstate屬性

?

棧相關屬性

int pthread_attr_setstacksize(pthread_attr_t *__attr, size_t __stacksize) :設置棧大小 PTHREAD_STACK_MIN表示最小值,其他數字就是具體值。

int pthread_attr_getstacksize(__const pthread_attr_t *__restrict __attr, size_t *__restrict ?__stacksize) :獲取棧大小

int pthread_attr_setstackaddr(pthread_attr_t *__attr, void *__stackaddr) :設置棧地址

int pthread_attr_getstackaddr(__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) :獲取棧地址

int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) :設置棧保護區大小。用于溢出保護。

int pthread_attr_getguardsize (__const pthread_attr_t *__attr, size_t *__guardsize) :獲取棧保護區大小。

?

總結

以上是生活随笔為你收集整理的【linux高级程序设计】(第十二章)Linux多线程编程 4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。