最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux多線程環(huán)境下 關(guān)于進(jìn)程線程終止函數(shù)總結(jié)

 更新時(shí)間:2017年01月05日 08:44:36   投稿:jingxian  
下面小編就為大家?guī)硪黄狶inux多線程環(huán)境下 關(guān)于進(jìn)程線程終止函數(shù)總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

pthread_kill:

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

int pthread_kill(pthread_t thread, int sig);

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

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

如果int sig是0呢,這是一個(gè)保留信號(hào),一個(gè)作用是用來判斷線程是不是還活著。pthread_kill的返回值: 成功:0 線程不存在:ESRCH 信號(hào)不合法: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ā)送一個(gè)取消執(zhí)行的請求。如果成功則返回0,否則為非0值。發(fā)送成功并不意味著thread會(huì)終止。成功返回零,出錯(cuò)返回非零的出錯(cuò)碼ESRCH:沒有找到thread指定ID的線程。

abort和exit的比較

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

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

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

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

以上就是小編為大家?guī)淼腖inux多線程環(huán)境下 關(guān)于進(jìn)程線程終止函數(shù)總結(jié)全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • linux允許端口遠(yuǎn)程訪問開放端口的方法

    linux允許端口遠(yuǎn)程訪問開放端口的方法

    今天小編就為大家分享一篇linux允許端口遠(yuǎn)程訪問開放端口的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集

    Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集

    這篇文章主要介紹了Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 學(xué)習(xí)Vim合并行的方法和技巧

    學(xué)習(xí)Vim合并行的方法和技巧

    這篇文章主要介紹了學(xué)習(xí)Vim合并行的方法以及代碼實(shí)現(xiàn)過程,值得參考,一起來學(xué)習(xí)下。
    2017-11-11
  • 在CentOS中搭建Hadoop的詳細(xì)步驟

    在CentOS中搭建Hadoop的詳細(xì)步驟

    這篇文章主要介紹了在CentOS中搭建Hadoop的詳細(xì)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Apache Rewrite實(shí)現(xiàn)URL的301跳轉(zhuǎn)和域名跳轉(zhuǎn)

    Apache Rewrite實(shí)現(xiàn)URL的301跳轉(zhuǎn)和域名跳轉(zhuǎn)

    Rewirte主要的功能就是實(shí)現(xiàn)URL的跳轉(zhuǎn),它的正則表達(dá)式是基于Perl語言??苫诜?wù)器級的(httpd.conf)和目錄級的 (.htaccess)兩種方式
    2012-05-05
  • Linux系統(tǒng)中systemd服務(wù)啟動(dòng)失敗問題排查和解決方法(以ad_auth.service為例)

    Linux系統(tǒng)中systemd服務(wù)啟動(dòng)失敗問題排查和解決方法(以ad_auth.service為例)

    在 Linux 系統(tǒng)中,systemd 是管理服務(wù)和進(jìn)程的核心工具,然而,在實(shí)際運(yùn)維中,我們經(jīng)常會(huì)遇到服務(wù)啟動(dòng)失敗的情況,本文將以一個(gè)具體的案例——ad_auth.service 啟動(dòng)失敗為例,詳細(xì)介紹如何排查和解決此類問題,需要的朋友可以參考下
    2025-01-01
  • Linux用戶管理與常見權(quán)限命令

    Linux用戶管理與常見權(quán)限命令

    在Linux系統(tǒng)中,用戶和組是管理權(quán)限和資源訪問的基本單元,用戶可以屬于一個(gè)或多個(gè)組,組用于集中管理一組用戶的權(quán)限,文件權(quán)限決定了用戶或組對文件的訪問級別,每個(gè)文件或目錄都有三個(gè)權(quán)限集,分別適用于文件所有者(User)、所屬組(Group)和其他用戶(Others)
    2024-08-08
  • Linux CentOS下安裝Tomcat9及web項(xiàng)目的部署

    Linux CentOS下安裝Tomcat9及web項(xiàng)目的部署

    本文講解在Linux CentOS下安裝Tomcat9,以及Web項(xiàng)目的部署發(fā)布過程,通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常的詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Linux下文件夾的移動(dòng)與復(fù)制詳解

    Linux下文件夾的移動(dòng)與復(fù)制詳解

    Linux是一種常見的操作系統(tǒng),常用于服務(wù)器和開發(fā)環(huán)境。在Linux中,文件夾的移動(dòng)與復(fù)制是常見的操作。本文將介紹如何在Linux中移動(dòng)和復(fù)制文件夾,包括使用命令行和文件管理器兩種方法。同時(shí)也講解了如何保持文件夾的權(quán)限和元數(shù)據(jù)。
    2023-04-04
  • Linux入門之網(wǎng)絡(luò)系統(tǒng)詳解

    Linux入門之網(wǎng)絡(luò)系統(tǒng)詳解

    大家好,本篇文章主要講的是Linux入門之網(wǎng)絡(luò)系統(tǒng)詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

宜兰市| 安康市| 闸北区| 英山县| 西平县| 万载县| 新乐市| 澎湖县| 和硕县| 莲花县| 盐亭县| 闽侯县| 乡城县| 杭州市| 桃源县| 通海县| 靖远县| 枣庄市| 孝昌县| 太康县| 陵水| 满洲里市| 丰宁| 临夏市| 江安县| 巧家县| 双桥区| 同仁县| 武宁县| 深泽县| 汝城县| 乳山市| 祁阳县| 安多县| 怀化市| 肥东县| 墨江| 滦南县| 景东| 青田县| 略阳县|