青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

桃源谷

心靈的旅行

人生就是一場旅行,不在乎旅行的目的地,在乎的是沿途的風景和看風景的心情 !
posts - 32, comments - 42, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

準則1:不依賴于信號收發(fā)的設計

Posted on 2008-06-01 20:27 lymons 閱讀(1399) 評論(0)  編輯 收藏 引用 所屬分類: C++ 、CUnix/Linux文章翻譯
From 2008精選

[C++] UNIX上的C++程序設計守則(1)

原文:http://d.hatena.ne.jp/yupo5656/20040712/p1

Unix跟Windows等那些”對于開發(fā)者易于使用”的OS比起來,在信號和線程的利用方面有諸多的限制。但是即使不知道這些知識就做構架設計和實現(xiàn)的情況也隨處可見。這個就是那些經(jīng)常不能再現(xiàn)的bug的溫床吧。

因此,我想分成幾回來寫一些準則來防止陷入到這些圈套里。

準則1:不依賴于信號收發(fā)的設計

·給其他進程以及自己發(fā)送異步信號并改變處理流程的設計不要做

  •  異步信號是值用kill系統(tǒng)調(diào)用來創(chuàng)建?發(fā)送的信號、例如SIGUSR1,SIGUSR2,SIGINT,SIGTERM 等
  • 簡單的使用忽略信號(SIG_IGN)則沒有問題

·不要把線程和信號一起使用 

  • 這將使程序動作的預測和調(diào)試變得很困難

 

說明:

同步信號是指,因為某些特定的操作*1而引起向自身進程發(fā)送某些特定的信號,例如SIGSEGV,SIGBUS,SIGPIPE,SIGSYS,SIGILL,SIGFPE。異步信號就是這些以外的信號。在什么時機發(fā)送異步信號并不能被預測出來。我們會在程序里追加收到某些信號時做一些特殊處理(信號處理函數(shù))的函數(shù)。那么根據(jù)收到的信號就跳到信號處理函數(shù)的程序就叫做”在任意代碼處都能發(fā)生跳轉”的程序。這樣的程序往往隱藏這下面的那些問題:

  1. 容易引入BUG。”任意的代碼”雖然也包含”執(zhí)行C/C++里面的一條語句的過程中”的意思,但這很容易跳出程序員的正常思維以及默認的假定條件。編寫程序的時候往往需要考慮比C++異常分支還要多得多的分支情況。
  2. 使測試項目激增。即使根據(jù)白盒測試達成100%的分支覆蓋,也不能網(wǎng)羅到因為接受信號而發(fā)生的跳轉分支處理。也就是說做到100%的網(wǎng)羅信號跳轉分支的測試是不能全部實現(xiàn)的。一般的,加上要考慮” 在實行某個特定代碼時因為接受到信號而發(fā)生的誤操作”這樣的BUG會經(jīng)常發(fā)生*2的這種情況,測試困難往往就是導致軟件的品質低下的誘因。

 

根據(jù)經(jīng)驗,”當檢查到子進程結束(接收到SIGCHLD信號)時,要做必要的處理”像這樣的信號處理不管做什么都是有必要的情況會有,但是除此以外的信號處理,例如

  • 把自己的狀態(tài)用信號告訴其他進程
  • 主線程在輸入輸出函數(shù)里發(fā)送信號給被阻塞的子線程,并解除阻塞

等,是應該事先好好好好考慮過后再去做實際的實現(xiàn)。前者的話,如果不強制在”普通的”進程間進行通信的話可能會很好,后者是特意要使用線程,也要應該按照即使阻塞了也不能發(fā)生問題那樣再設計。

不管怎么樣,如果必須要使用信號的話,也要先全部*3理解這些陷阱以及,和多線程軟件設計的場合一樣或者說比它更嚴格的制約.注意事項都需要銘記在心里。

*1:例如,引用空指針

*2:參照 id:yupo5656:20040703 的sigsafe說明

*3:暫時先掌握”準則2”:-)

我的個人簡歷第一頁 我的個人簡歷第二頁
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品乱码久久久久久日本蜜臀| 国产精品你懂得| 久久麻豆一区二区| 久久亚洲图片| 美乳少妇欧美精品| 欧美丰满高潮xxxx喷水动漫| 久久综合网hezyo| 老牛国产精品一区的观看方式| 久久久久久久高潮| 鲁大师成人一区二区三区| 欧美91大片| 另类图片国产| 麻豆精品在线播放| 美女国产一区| 亚洲国产精品精华液网站| 亚洲国产精品专区久久| 亚洲精品乱码久久久久久日本蜜臀 | 久久精品久久99精品久久| 亚洲影院色无极综合| 久久福利一区| 欧美色图天堂网| 亚洲私人影院在线观看| 一区二区三区.www| 亚洲婷婷在线| 久久激情网站| 精品动漫一区二区| 99国产精品99久久久久久| 欧美亚洲综合在线| 欧美成人久久| 亚洲女性裸体视频| 欧美大片免费久久精品三p| 国产精品二区在线观看| 亚洲国产精品一区二区三区| 亚洲欧美成aⅴ人在线观看| 欧美成人精品一区二区三区| 亚洲性视频网址| 欧美一区二区精美| 欧美成人高清视频| 国产一区二区三区日韩欧美| 一区二区三区视频在线看| 亚洲午夜精品| 亚洲国产成人精品视频| 亚洲欧美国产高清va在线播| 欧美成年人网站| 激情久久久久久| 久久精品青青大伊人av| 亚洲精品一区二区三区四区高清| 久久精品在线视频| 国产亚洲欧美日韩一区二区| 亚洲一级黄色av| 亚洲精品久久久久久久久久久久 | 免费视频最近日韩| 午夜在线视频观看日韩17c| 欧美日韩精品福利| 99成人在线| 亚洲美女网站| 欧美日韩亚洲天堂| 一区二区三区日韩| 亚洲精品日韩欧美| 久久国产免费看| 国产精品久久久久国产精品日日| 亚洲欧洲日夜超级视频| 久久在线视频在线| 久久精品日韩欧美| 好看的日韩视频| 久久艳片www.17c.com| 久久都是精品| 亚洲激情在线观看| 亚洲国产视频a| 欧美激情第4页| 亚洲午夜精品一区二区三区他趣| 亚洲精品一区二区三区av| 欧美伦理91i| 午夜在线精品| 欧美一区二区私人影院日本| 一区免费视频| 亚洲成人资源网| 欧美老女人xx| 欧美激情二区三区| 久久嫩草精品久久久精品| 国一区二区在线观看| 久久青草欧美一区二区三区| 久久精彩视频| 亚洲人成小说网站色在线 | 亚洲激情小视频| 欧美日韩一区二区三区在线视频| 在线一区二区三区四区五区| 夜色激情一区二区| 国产一区二区欧美| 亚洲激情av| 国产精品免费一区豆花| 久久久国产精品一区| 欧美成人小视频| 午夜在线精品偷拍| 嫩草国产精品入口| 国内偷自视频区视频综合| 国产亚洲欧美一区| 欧美激情视频一区二区三区在线播放 | 亚洲美女色禁图| 亚洲一区二区三区中文字幕在线| 国产一区再线| 亚洲精选久久| 在线日本成人| 亚洲免费网址| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲欧美另类综合偷拍| 久久久久久9| 午夜综合激情| 亚洲精品影院在线观看| 久久高清福利视频| 老色鬼久久亚洲一区二区| 亚洲婷婷在线| 欧美大胆成人| 久久综合激情| 国产免费一区二区三区香蕉精| 欧美激情一区二区三区不卡| 国产乱码精品一区二区三区忘忧草 | 蜜月aⅴ免费一区二区三区| 亚洲欧美中文日韩在线| 欧美国产日韩a欧美在线观看| 久久国产精品亚洲va麻豆| 欧美视频一区二区三区| 亚洲国产欧美日韩另类综合| 99人久久精品视频最新地址| 亚洲无限av看| 亚洲二区视频在线| 欧美一级淫片播放口| 亚洲一卡二卡三卡四卡五卡| 免费观看在线综合色| 久热国产精品视频| 国产亚洲成精品久久| 亚洲一区二区三区高清不卡| 一区二区av| 欧美日韩国产成人| 亚洲激情一区| 99国产精品久久久久久久久久 | 欧美高清在线| 欧美国产一区二区三区激情无套| 国产一区二区日韩精品欧美精品| 亚洲一品av免费观看| 亚洲午夜精品网| 国产精品久久久久7777婷婷| 在线综合亚洲| 性欧美精品高清| 国产日本欧美一区二区| 亚洲欧美欧美一区二区三区| 欧美伊人久久久久久久久影院| 国产精品久线观看视频| 亚洲一卡久久| 久久这里只有精品视频首页| 在线播放豆国产99亚洲| 欧美jizzhd精品欧美喷水| 欧美国产先锋| 亚洲视频一区| 国产亚洲欧洲997久久综合| 久久精品一区二区| 亚洲国产第一| 午夜精品久久久久久99热软件| 国产精品视频xxxx| 亚洲欧美中日韩| 欧美成年人视频网站| 一本大道久久a久久综合婷婷| 欧美三区在线观看| 欧美一区二区视频在线观看2020| 欧美成人dvd在线视频| 亚洲最新视频在线播放| 国产欧美成人| 欧美大片免费| 亚洲一区二区三区三| 久久亚洲精品伦理| 夜夜夜久久久| 亚洲大胆在线| 欧美手机在线视频| 另类人畜视频在线| 亚洲永久在线观看| 亚洲国产三级网| 久久久久久久综合色一本| 99视频精品全部免费在线| 国产精品日韩精品欧美精品| 久久九九久精品国产免费直播| 亚洲丰满少妇videoshd| 欧美影院一区| 亚洲午夜女主播在线直播| 黑人中文字幕一区二区三区| 欧美激情精品久久久| 欧美在线看片| 亚洲一区在线视频| 亚洲精品视频一区| 欧美v国产在线一区二区三区| 亚洲淫性视频| 亚洲精品久久视频| 在线观看一区| 国产一区二区久久久| 国产精品二区在线观看| 欧美激情精品久久久| 久久综合久久美利坚合众国| 国产精品电影网站| 亚洲第一在线综合在线| 欧美激情一区二区三区| 久久另类ts人妖一区二区|