国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux多線程環(huán)境下 關于進程線程終止函數(shù)總結

2024-09-05 23:03:26
字體:
來源:轉載
供稿:網友

pthread_kill:

pthread_kill與kill有區(qū)別,是向線程發(fā)送signal。,大部分signal的默認動作是終止進程的運行,所以,我們才要用signal()去抓信號并加上處理函數(shù)。

int pthread_kill(pthread_t thread, int sig);

向指定ID的線程發(fā)送sig信號,如果線程代碼內不做處理,則按照信號默認的行為影響整個進程,也就是說,如果你給一個線程發(fā)送了SIGQUIT,但線程卻沒有實現(xiàn)signal處理函數(shù),則整個進程退出。

pthread_kill(threadid, SIGKILL)殺死整個進程。 如果要獲得正確的行為,就需要在線程內實現(xiàn)signal(SIGKILL,sig_handler)。所以,如果int sig的參數(shù)不是0,那一定要清楚到底要干什么,而且一定要實現(xiàn)線程的信號處理函數(shù),否則,就會影響整個進程。

如果int sig是0呢,這是一個保留信號,一個作用是用來判斷線程是不是還活著。pthread_kill的返回值: 成功:0 線程不存在:ESRCH 信號不合法:EINVAL

代碼:

int kill_rc = pthread_kill(thread_id,0);if(kill_rc == ESRCH)     printf("the specified thread did not exists or already quit/n"); else if(kill_rc == EINVAL)     printf("signal is invalid/n"); else     printf("the specified thread is alive/n"); 

pthread_cancel

函數(shù)原型:

int pthread_cancel(pthread_t thread);

向thread發(fā)送一個取消執(zhí)行的請求。如果成功則返回0,否則為非0值。發(fā)送成功并不意味著thread會終止。成功返回零,出錯返回非零的出錯碼ESRCH:沒有找到thread指定ID的線程。

abort和exit的比較

exit會做一些釋放工作:釋放所有的靜態(tài)的全局的對象,緩存,關掉所有的I/O通道,然后終止程序。如果有函數(shù)通過atexit來注冊,還會按照atexit的相反順序調用注冊的函數(shù)。不過,如果atexit函數(shù)扔出異常的話,就會直接調用terminate。

abort:立刻terminate程序,沒有任何清理工作。

這里附上線程基本函數(shù):

----------------------------------------------------------------
     POSIX函數(shù)                              描述
----------------------------------------------------------------
     pthread_create                    創(chuàng)建一個線程
     pthread_self                      找出自己的線程ID
     pthread_equal                     測試2個線程ID是否相等
     pthread_detach                    設置線程以釋放資源
     pthread_join                      等待一個線程
     pthread_cancel                    終止另一個線程
     pthread_exit                      退出線程,而不退出進程
     pthread_kill                      向線程發(fā)送一個信號
---------------------------------------------------------------

以上就是小編為大家?guī)淼腖inux多線程環(huán)境下 關于進程線程終止函數(shù)總結全部內容了,希望大家多多支持VEVB武林網~


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 旺苍县| 洛扎县| 临湘市| 乳源| 新泰市| 东丰县| 伊川县| 长垣县| 芦山县| 全州县| 崇仁县| 通化市| 威远县| 潜江市| 景泰县| 尉犁县| 郸城县| 南汇区| 铜鼓县| 游戏| 沙坪坝区| 广德县| 曲麻莱县| 长岛县| 云龙县| 东港市| 黔江区| 修文县| 靖远县| 江孜县| 古丈县| 合江县| 金坛市| 怀远县| 邹平县| 陇西县| 山丹县| 高淳县| 商水县| 景泰县| 郸城县|