亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3880 | 回復: 6
打印 上一主題 下一主題

怎樣實現(xiàn):任意一個線程終止,就終止整個進程? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-05-06 10:41 |只看該作者 |倒序瀏覽
多線程開發(fā),有很多個子線程,主線程調用pthread_join等待某個線程返回, 這樣可以等待特定的線程返回,
能否實現(xiàn) 所有子線程中 只要有一個掛掉了,就終止進程呢????

論壇徽章:
0
2 [報告]
發(fā)表于 2009-05-06 11:12 |只看該作者
如果是所有子線程中的任意一個掛掉就殺死進程的話,用pthread_join可能辦不到

我的想法是設置一個全局變量標志finished,哪個線程要是掛了就把flag置1,在主進程中不用pthread_join等待子線程結束,而是循環(huán)等待:
int finished = 0;

int main(){
.....
.....
  pthread_create(......);
  pthread_create(......);
  pthread_create(......);
......
......
......

  while(! finished)
    ;

  return 0;
}

論壇徽章:
0
3 [報告]
發(fā)表于 2009-05-06 11:32 |只看該作者

回復 #2 cwtkang 的帖子

樓上說的很有道理,
但是怎樣知道某個線程什么時候掛了呢?現(xiàn)在就是不知道它是什么時候掛掉了的

論壇徽章:
0
4 [報告]
發(fā)表于 2009-05-06 15:33 |只看該作者
你說的線程掛掉是指異常終止還是處理完預定的作業(yè)后正常退出?
在WIN32下線程也是名柄, 在LINUX下是不是也一樣,如果一樣,應該可以用select函數(shù)

論壇徽章:
0
5 [報告]
發(fā)表于 2009-05-06 15:46 |只看該作者
哦,不行,我的想法錯了

論壇徽章:
0
6 [報告]
發(fā)表于 2009-05-07 10:40 |只看該作者

回復 #1 wwlhz 的帖子

簡單啊,exit()進程退出

論壇徽章:
0
7 [報告]
發(fā)表于 2009-05-07 20:17 |只看該作者
怎么會掛掉?
只有正常退出, 否則捕捉 SIGTERM 等信號。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP