锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲男人的天堂一区二区,亚洲区视频在线观看,亚洲精品制服丝袜四区http://www.tkk7.com/fhtdy2004/category/39672.html鏈変簺浜?鏄庢槑鐭ラ亾涓嶄細鏈夌粨鏋滐紝鏈変簺浜?鏄庢槑鐭ラ亾娉ㄥ畾浼氶敊榪?/description>zh-cnSun, 09 Aug 2009 01:27:31 GMTSun, 09 Aug 2009 01:27:31 GMT60Posix綰跨▼緙栫▼鎸囧崡(5)鏉傞」http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286023.htmlFrank_FangFrank_FangThu, 09 Jul 2009 02:07:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/07/09/286023.htmlhttp://www.tkk7.com/fhtdy2004/comments/286023.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/07/09/286023.html#Feedback0http://www.tkk7.com/fhtdy2004/comments/commentRss/286023.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/286023.html

]]>
Posix綰跨▼緙栫▼鎸囧崡(4)http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286022.htmlFrank_FangFrank_FangThu, 09 Jul 2009 02:06:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/07/09/286022.htmlhttp://www.tkk7.com/fhtdy2004/comments/286022.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/07/09/286022.html#Feedback0http://www.tkk7.com/fhtdy2004/comments/commentRss/286022.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/286022.html

]]>
Posix綰跨▼緙栫▼鎸囧崡(3)綰跨▼鍚屾銆愯漿銆?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286021.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Thu, 09 Jul 2009 02:04:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286021.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/286021.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/286021.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/286021.html</trackback:ping><description><![CDATA[http://blog.csdn.net/hwz119/archive/2007/06/20/1658846.aspx <img src ="http://www.tkk7.com/fhtdy2004/aggbug/286021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-09 10:04 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286021.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Posix綰跨▼緙栫▼鎸囧崡(2)綰跨▼縐佹湁鏁版嵁銆愯漿銆?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286020.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Thu, 09 Jul 2009 02:03:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286020.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/286020.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286020.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/286020.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/286020.html</trackback:ping><description><![CDATA[http://blog.csdn.net/hwz119/archive/2007/06/20/1658841.aspx<br /> <br /> <strong style="color: red">榪欎釜綰跨▼縐佹湁鏁版嵁鍦↗ava涓笌ThreadLocal綾葷殑浣滅敤鐩稿悓,浣跨敤涓婁篃綾諱技錛?br /> 鍏充簬ThreadLocal綾葷殑浣跨敤鍙傝冩湰鍗氫腑<strong><font color="#ff0000">http://www.tkk7.com/fhtdy2004/archive/2009/06/02/279582.html<br /> 鐜板湪鎰熻涓涓笢瑗垮閫忓交浜嗭紝鏈変簺涓滆タ瀛﹁搗鏉ヤ細寰堝揩錛屽熀紜寰堥噸瑕?/font></strong></strong> <img src ="http://www.tkk7.com/fhtdy2004/aggbug/286020.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-09 10:03 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286020.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Posix綰跨▼緙栫▼鎸囧崡(1)綰跨▼鍒涘緩涓庡彇娑堛愯漿銆?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286011.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Thu, 09 Jul 2009 01:48:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286011.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/286011.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286011.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/286011.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/286011.html</trackback:ping><description><![CDATA[http://blog.csdn.net/hwz119/archive/2007/06/20/1658838.aspx<br /> <img src ="http://www.tkk7.com/fhtdy2004/aggbug/286011.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-09 09:48 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286011.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>void綾誨瀷鍜寁oid *鎸囬拡綾誨瀷錛堢綉涓婃憳鎶勬葷粨錛夈愯漿銆?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286004.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Thu, 09 Jul 2009 01:12:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286004.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/286004.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/286004.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/286004.html</trackback:ping><description><![CDATA[<p>鐜板湪鍦ㄥlinux緙栫▼榪囩▼涓亣鍒板緢澶歷oid *鎸囬拡綾誨瀷錛岀敱浜巆寰堟棭瀛︾殑鏈変簺緇嗚妭涓嶇敋浜嗚В錛屽氨鏌ヤ簡鏌ワ紝鍦–++涓緢灝戠敤void *鎸囬拡綾誨瀷鐨勶紵娌℃敞鎰忚繃<br /> </p> <p><strong>1.姒傝堪</strong><br /> 銆銆璁稿鍒濆鑰呭C/C++璇█涓殑void鍙妚oid鎸囬拡綾誨瀷涓嶇敋鐞嗚В錛屽洜姝ゅ湪浣跨敤涓婂嚭鐜頒簡涓浜涢敊璇傛湰鏂囧皢瀵箆oid鍏抽敭瀛楃殑娣卞埢鍚箟榪涜瑙h錛屽茍</p> <p>璇﹁堪void鍙妚oid鎸囬拡綾誨瀷鐨勪嬌鐢ㄦ柟娉曚笌鎶宸с?/p> <p><strong>2.void鐨勫惈涔?/strong><br /> 銆銆void鐨勫瓧闈㈡剰鎬濇槸“鏃犵被鍨?#8221;錛?strong>void *鍒欎負“鏃犵被鍨嬫寚閽?#8221;錛寁oid *鍙互鎸囧悜浠諱綍綾誨瀷鐨勬暟鎹?/strong></p> <p>銆銆void鍑犱箮鍙湁“娉ㄩ噴”鍜岄檺鍒剁▼搴忕殑浣滅敤錛屽洜涓轟粠鏉ユ病鏈変漢浼氬畾涔変竴涓獀oid鍙橀噺錛岃鎴戜滑璇曠潃鏉ュ畾涔夛細</p> <p><br /> void a;</p> <p>銆銆榪欒璇彞緙栬瘧鏃朵細鍑洪敊錛屾彁紺?#8220;illegal use of type 'void'”銆備笉榪囷紝鍗充嬌void a鐨勭紪璇戜笉浼氬嚭閿欙紝瀹冧篃娌℃湁浠諱綍瀹為檯鎰忎箟銆?/p> <p>銆銆void鐪熸鍙戞尌鐨勪綔鐢ㄥ湪浜庯細<br /> 銆銆錛?錛?瀵瑰嚱鏁拌繑鍥炵殑闄愬畾錛?br /> 銆銆錛?錛?瀵瑰嚱鏁板弬鏁扮殑闄愬畾銆?/p> <p>銆銆鎴戜滑灝嗗湪絎笁鑺傚浠ヤ笂浜岀偣榪涜鍏蜂綋璇存槑銆?/p> <p>銆銆浼楁墍鍛ㄧ煡錛屽鏋滄寚閽坧1鍜宲2鐨勭被鍨嬬浉鍚岋紝閭d箞鎴戜滑鍙互鐩存帴鍦╬1鍜宲2闂翠簰鐩歌祴鍊鹼紱濡傛灉p1鍜宲2鎸囧悜涓嶅悓鐨勬暟鎹被鍨嬶紝鍒欏繀欏諱嬌鐢ㄥ己鍒剁被鍨?/p> <p>杞崲榪愮畻絎︽妸璧嬪艱繍綆楃鍙寵竟鐨勬寚閽堢被鍨嬭漿鎹負宸﹁竟鎸囬拡鐨勭被鍨嬨?/p> <p>銆銆渚嬪錛?br /> float *p1;<br /> int *p2;<br /> p1 = p2;</p> <p>銆銆鍏朵腑p1 = p2璇彞浼氱紪璇戝嚭閿欙紝鎻愮ず“'=' : cannot convert from 'int *' to 'float *'”錛屽繀欏繪敼涓猴細<br /> p1 = (float *)p2;<br /> 鑰寁oid *鍒欎笉鍚岋紝浠諱綍綾誨瀷鐨勬寚閽堥兘鍙互鐩存帴璧嬪肩粰瀹冿紝鏃犻渶榪涜寮哄埗綾誨瀷杞崲錛?br /> void *p1;<br /> int *p2;<br /> p1 = p2;</p> <p>銆銆浣嗚繖騫朵笉鎰忓懗鐫錛寁oid *涔熷彲浠ユ棤闇寮哄埗綾誨瀷杞崲鍦拌祴緇欏叾瀹冪被鍨嬬殑鎸囬拡銆傚洜涓?#8220;鏃犵被鍨?#8221;鍙互鍖呭“鏈夌被鍨?#8221;錛岃?#8220;鏈夌被鍨?#8221;鍒欎笉鑳藉寘</p> <p>瀹?#8220;鏃犵被鍨?#8221;銆傞亾鐞嗗緢綆鍗曪紝鎴戜滑鍙互璇?#8220;鐢蜂漢鍜屽コ浜洪兘鏄漢”錛屼絾涓嶈兘璇?#8220;浜烘槸鐢蜂漢”鎴栬?#8220;浜烘槸濂充漢”銆備笅闈㈢殑璇彞緙栬瘧鍑洪敊錛?br /> void *p1;<br /> int *p2;<br /> p2 = p1;</p> <p>銆銆鎻愮ず“'=' : cannot convert from 'void *' to 'int *'”銆?/p> <p><strong>3.void鐨勪嬌鐢?/strong></p> <p>銆銆涓嬮潰緇欏嚭void鍏抽敭瀛楃殑浣跨敤瑙勫垯錛?br /> 銆銆<strong>瑙勫垯涓 濡傛灉鍑芥暟娌℃湁榪斿洖鍊鹼紝閭d箞搴斿0鏄庝負void綾誨瀷</strong></p> <p>銆銆鍦–璇█涓紝鍑′笉鍔犺繑鍥炲肩被鍨嬮檺瀹氱殑鍑芥暟錛屽氨浼氳緙栬瘧鍣ㄤ綔涓鴻繑鍥炴暣鍨嬪煎鐞嗐備絾鏄澶氱▼搴忓憳鍗磋浠ヤ負鍏朵負void綾誨瀷銆備緥濡傦細<br /> add ( int a, int b )<br /> {<br /> return a + b;<br /> }<br /> int main(int argc, char* argv[])<br /> {<br /> printf ( "2 + 3 = %d", add ( 2, 3) );<br /> }</p> <p>銆銆紼嬪簭榪愯鐨勭粨鏋滀負杈撳嚭錛?br /> 銆銆2 + 3 = 5<br /> 銆銆榪欒鏄庝笉鍔犺繑鍥炲艱鏄庣殑鍑芥暟鐨勭‘涓篿nt鍑芥暟銆?/p> <p>銆銆鏋楅攼鍗氬+銆婇珮璐ㄩ噺C/C++緙栫▼銆嬩腑鎻愬埌錛?#8220;C++璇█鏈夊緢涓ユ牸鐨勭被鍨嬪畨鍏ㄦ鏌ワ紝涓嶅厑璁鎬笂榪版儏鍐碉紙鎸囧嚱鏁頒笉鍔犵被鍨嬪0鏄庯級鍙戠敓”銆傚彲鏄紪璇?/p> <p>鍣ㄥ茍涓嶄竴瀹氳繖涔堣瀹氾紝璀鍦╒isual C++6.0涓笂榪癮dd鍑芥暟鐨勭紪璇戞棤閿欎篃鏃犺鍛婁笖榪愯姝g‘錛屾墍浠ヤ笉鑳藉瘎甯屾湜浜庣紪璇戝櫒浼氬仛涓ユ牸鐨勭被鍨嬫鏌ャ?/p> <p>銆銆鍥犳錛屼負浜嗛伩鍏嶆販涔憋紝鎴戜滑鍦ㄧ紪鍐機/C++紼嬪簭鏃訛紝瀵逛簬浠諱綍鍑芥暟閮藉繀欏諱竴涓笉婕忓湴鎸囧畾鍏剁被鍨嬨傚鏋滃嚱鏁版病鏈夎繑鍥炲鹼紝涓瀹氳澹版槑涓簐oid綾?/p> <p>鍨嬨傝繖鏃㈡槸紼嬪簭鑹ソ鍙鎬х殑闇瑕侊紝涔熸槸緙栫▼瑙勮寖鎬х殑瑕佹眰銆傚彟澶栵紝鍔犱笂void綾誨瀷澹版槑鍚庯紝涔熷彲浠ュ彂鎸ヤ唬鐮佺殑“鑷敞閲?#8221;浣滅敤銆備唬鐮佺殑“鑷敞</p> <p>閲?#8221;鍗充唬鐮佽兘鑷繁娉ㄩ噴鑷繁銆?/p> <p><strong>     瑙勫垯浜?濡傛灉鍑芥暟鏃犲弬鏁?閭d箞搴斿0鏄庡叾鍙傛暟涓簐oid</strong></p> <p>銆銆鍦–++璇█涓0鏄庝竴涓繖鏍風殑鍑芥暟錛?br /> int function(void)<br /> {<br /> return 1;<br /> }</p> <p>銆銆鍒欒繘琛屼笅闈㈢殑璋冪敤鏄笉鍚堟硶鐨勶細<br /> function(2);</p> <p>銆銆鍥犱負鍦–++涓紝鍑芥暟鍙傛暟涓簐oid鐨勬剰鎬濇槸榪欎釜鍑芥暟涓嶆帴鍙椾換浣曞弬鏁般?/p> <p>銆銆鎴戜滑鍦═urbo C 2.0涓紪璇戯細<br /> #include "stdio.h"<br /> fun()<br /> {<br /> return 1;<br /> }<br /> main()<br /> {<br /> printf("%d",fun(2));<br /> getchar();<br /> }</p> <p>銆銆緙栬瘧姝g‘涓旇緭鍑?錛岃繖璇存槑錛屽湪C璇█涓紝鍙互緇欐棤鍙傛暟鐨勫嚱鏁頒紶閫佷換鎰忕被鍨嬬殑鍙傛暟錛屼絾鏄湪C++緙栬瘧鍣ㄤ腑緙栬瘧鍚屾牱鐨勪唬鐮佸垯浼氬嚭閿欍傚湪C++</p> <p>涓紝涓嶈兘鍚戞棤鍙傛暟鐨勫嚱鏁頒紶閫佷換浣曞弬鏁幫紝鍑洪敊鎻愮ず“'fun' : function does not take 1 parameters”銆?/p> <p>銆銆鎵浠ワ紝鏃犺鍦–榪樻槸C++涓紝鑻ュ嚱鏁頒笉鎺ュ彈浠諱綍鍙傛暟錛屼竴瀹氳鎸囨槑鍙傛暟涓簐oid銆傝嚦灝戞垜寰堝皯榪欐牱鐢ㄣ傘?/p> <p><strong>銆銆瑙勫垯涓?灝忓績浣跨敤void鎸囬拡綾誨瀷</strong></p> <p>銆銆鎸夌収ANSI(American National Standards Institute)鏍囧噯錛屼笉鑳藉void鎸囬拡榪涜綆楁硶鎿嶄綔錛屽嵆涓嬪垪鎿嶄綔閮芥槸涓嶅悎娉曠殑錛?br /> void * pvoid;<br /> pvoid++; //ANSI錛氶敊璇?br /> pvoid += 1; //ANSI錛氶敊璇?br /> //ANSI鏍囧噯涔嬫墍浠ヨ繖鏍瘋瀹氾紝鏄洜涓哄畠鍧氭寔錛氳繘琛岀畻娉曟搷浣滅殑鎸囬拡蹇呴』鏄‘瀹氱煡閬撳叾鎸囧悜鏁版嵁綾誨瀷澶у皬鐨勩?br /> //渚嬪錛?br /> int *pint;<br /> pint++; //ANSI錛氭紜?/p> <p>銆銆pint++鐨勭粨鏋滄槸浣垮叾澧炲ぇsizeof(int)銆?/p> <p>銆銆浣嗘槸澶у悕榧庨紟鐨凣NU(GNU's Not Unix鐨勭緝鍐?鍒欎笉榪欎箞璁ゅ畾錛屽畠鎸囧畾void *鐨勭畻娉曟搷浣滀笌char *涓鑷淬?/p> <p>銆鍥犳涓嬪垪璇彞鍦℅NU緙栬瘧鍣ㄤ腑鐨嗘紜細<br /> pvoid++; //GNU錛氭紜?br /> pvoid += 1; //GNU錛氭紜?/p> <p>銆銆pvoid++鐨勬墽琛岀粨鏋滄槸鍏跺澶т簡1銆?/p> <p>銆銆鍦ㄥ疄闄呯殑紼嬪簭璁捐涓紝涓鴻繋鍚圓NSI鏍囧噯錛屽茍鎻愰珮紼嬪簭鐨勫彲縐繪鎬э紝鎴戜滑鍙互榪欐牱緙栧啓瀹炵幇鍚屾牱鍔熻兘鐨勪唬鐮侊細<br /> void * pvoid;<br /> (char *)pvoid++; //ANSI錛氭紜紱GNU錛氭紜?br /> (char *)pvoid += 1; //ANSI錛氶敊璇紱GNU錛氭紜?/p> <p>銆銆GNU鍜孉NSI榪樻湁涓浜涘尯鍒紝鎬諱綋鑰岃█錛孏NU杈傾NSI鏇?#8220;寮鏀?#8221;錛屾彁渚涗簡瀵規洿澶氳娉曠殑鏀寔銆備絾鏄垜浠湪鐪熷疄璁捐鏃訛紝榪樻槸搴旇灝藉彲鑳藉湴榪庡悎</p> <p>ANSI鏍囧噯銆?/p> <p><strong>銆銆瑙勫垯鍥?濡傛灉鍑芥暟鐨勫弬鏁板彲浠ユ槸浠繪剰綾誨瀷鎸囬拡錛岄偅涔堝簲澹版槑鍏跺弬鏁頒負void *</strong></p> <p>銆銆鍏稿瀷鐨勫鍐呭瓨鎿嶄綔鍑芥暟memcpy鍜宮emset鐨勫嚱鏁板師鍨嬪垎鍒負錛?br /> void * memcpy(void *dest, const void *src, size_t len);<br /> void * memset ( void * buffer, int c, size_t num );</p> <p>銆銆榪欐牱錛屼換浣曠被鍨嬬殑鎸囬拡閮藉彲浠ヤ紶鍏emcpy鍜宮emset涓紝榪欎篃鐪熷疄鍦頒綋鐜頒簡鍐呭瓨鎿嶄綔鍑芥暟鐨勬剰涔夛紝鍥犱負瀹冩搷浣滅殑瀵硅薄浠呬粎鏄竴鐗囧唴瀛橈紝鑰屼笉</p> <p>璁鴻繖鐗囧唴瀛樻槸浠涔堢被鍨嬨傚鏋渕emcpy鍜宮emset鐨勫弬鏁扮被鍨嬩笉鏄痸oid *錛岃屾槸char *錛岄偅鎵嶅彨鐪熺殑濂囨簡錛佽繖鏍風殑memcpy鍜宮emset鏄庢樉涓嶆槸涓涓?/p> <p>“綰補鐨勶紝鑴辯浣庣駭瓚e懗鐨?#8221;鍑芥暟錛?/p> <p>涓嬮潰鐨勪唬鐮佹墽琛屾紜細<br /> //紺轟緥錛歮emset鎺ュ彈浠繪剰綾誨瀷鎸囬拡<br /> int intarray[100];<br /> memset ( intarray, 0, 100*sizeof(int) ); //灝唅ntarray娓?</p> <p>//紺轟緥錛歮emcpy鎺ュ彈浠繪剰綾誨瀷鎸囬拡<br /> int intarray1[100], intarray2[100];<br /> memcpy ( intarray1, intarray2, 100*sizeof(int) ); //灝唅ntarray2鎷瘋礉緇檌ntarray1</p> <p>銆銆鏈夎叮鐨勬槸錛宮emcpy鍜宮emset鍑芥暟榪斿洖鐨勪篃鏄痸oid *綾誨瀷錛屾爣鍑嗗簱鍑芥暟鐨勭紪鍐欒呮槸澶氫箞鍦板瘜鏈夊闂晩錛?/p> <p><strong>銆銆瑙勫垯浜?void涓嶈兘浠h〃涓涓湡瀹炵殑鍙橀噺</strong></p> <p>銆銆涓嬮潰浠g爜閮戒紒鍥捐void浠h〃涓涓湡瀹炵殑鍙橀噺錛屽洜姝ら兘鏄敊璇殑浠g爜錛?br /> void a; //閿欒<br /> function(void a); //閿欒</p> <p>銆銆void浣撶幇浜嗕竴縐嶆娊璞★紝榪欎釜涓栫晫涓婄殑鍙橀噺閮芥槸“鏈夌被鍨?#8221;鐨勶紝璀涓涓漢涓嶆槸鐢蜂漢灝辨槸濂充漢錛堣繕鏈変漢濡栵紵錛夈?/p> <p>銆銆void鐨勫嚭鐜板彧鏄負浜嗕竴縐嶆娊璞$殑闇瑕侊紝濡傛灉浣犳紜湴鐞嗚В浜嗛潰鍚戝璞′腑“鎶借薄鍩虹被”鐨勬蹇碉紝涔熷緢瀹規槗鐞嗚Вvoid鏁版嵁綾誨瀷銆傛濡備笉鑳界粰鎶?/p> <p>璞″熀綾誨畾涔変竴涓疄渚嬶紝鎴戜滑涔熶笉鑳藉畾涔変竴涓獀oid錛堣鎴戜滑綾繪瘮鐨勭Оvoid涓?#8220;鎶借薄鏁版嵁綾誨瀷”錛夊彉閲忋?/p> <p><strong>4.鎬葷粨</strong><br /> 銆銆灝忓皬鐨剉oid钑磋棌鐫寰堜赴瀵岀殑璁捐鍝插錛屼綔涓轟竴鍚嶇▼搴忚璁′漢鍛橈紝瀵歸棶棰樿繘琛屾繁涓涓眰嬈$殑鎬濊冨繀鐒朵嬌鎴戜滑鍙楃泭鍖祬銆?br /> </p> <img src ="http://www.tkk7.com/fhtdy2004/aggbug/286004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-09 09:12 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/09/286004.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>綰跨▼鍚屾錛氫綍鏃朵簰鏂ラ攣涓嶅錛岃繕闇瑕佹潯浠跺彉閲?http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285519.htmlFrank_FangFrank_FangSat, 04 Jul 2009 17:07:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285519.htmlhttp://www.tkk7.com/fhtdy2004/comments/285519.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285519.html#Feedback2http://www.tkk7.com/fhtdy2004/comments/commentRss/285519.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/285519.html寰堟樉鐒訛紝pthread涓殑鏉′歡鍙橀噺涓嶫ava涓殑wait,notify綾諱技

鍋囪鏈夊叡浜殑璧勬簮sum,涓庝箣鐩稿叧鑱旂殑mutex 鏄痩ock_s.鍋囪姣忎釜綰跨▼瀵箂um鐨勬搷浣滃緢綆鍗曠殑,涓巗um鐨勭姸鎬佹棤鍏?姣斿鍙槸sum++.閭d箞鍙敤mutex瓚沖浜?紼嬪簭鍛樺彧瑕佺‘淇濇瘡涓嚎紼嬫搷浣滃墠,鍙栧緱lock,鐒跺悗sum++,鍐島nlock鍗沖彲.姣忎釜綰跨▼鐨勪唬鐮佸皢鍍忚繖鏍穉dd()
{
銆銆pthread_mutex_lock(lock_s);
銆銆sum++;
銆銆pthread_mutex_unlock(lock_s);
}

銆銆濡傛灉鎿嶄綔姣旇緝澶嶆潅,鍋囪綰跨▼t0,t1,t2鐨勬搷浣滄槸sum++,鑰岀嚎紼媡3鍒欐槸鍦╯um鍒拌揪100鐨勬椂鍊?鎵撳嵃鍑轟竴鏉′俊鎭?騫跺sum娓呴浂.榪欑鎯呭喌涓?濡傛灉鍙敤mutex, 鍒檛3闇瑕佷竴涓驚鐜?姣忎釜寰幆閲屽厛鍙栧緱lock_s,鐒跺悗媯鏌um鐨勭姸鎬?濡傛灉sum>=100,鍒欐墦鍗板茍娓呴浂,鐒跺悗unlock.濡傛灉sum<100,鍒檜nlock,騫秙leep()鏈嚎紼嬪悎閫傜殑涓孌墊椂闂?

銆榪欎釜鏃跺?t0,t1,t2鐨勪唬鐮佷笉鍙?t3鐨勪唬鐮佸涓?br /> 銆銆print()
銆銆{
銆銆銆銆while (1)
銆銆銆銆{
銆銆銆銆銆銆pthread_mutex_lock(lock_s);
銆銆銆銆銆銆if(sum<100)
銆銆銆銆銆銆{
銆銆銆銆銆銆銆銆printf(“sum reach 100!”);
銆銆銆銆銆銆銆銆pthread_mutex_unlock(lock_s);
銆銆銆銆銆銆}
銆銆銆銆銆銆else
銆銆銆銆銆銆{
銆銆銆銆銆銆銆銆pthread_mutex_unlock(lock_s);
銆銆銆銆銆銆銆銆my_thread_sleep(100);
銆銆銆銆銆銆銆銆return OK;
銆銆銆銆銆銆}
銆銆銆銆}
銆銆}

榪欑鍔炴硶鏈変袱涓棶棰?br /> 銆銆1) sum鍦ㄥぇ澶氭暟鎯呭喌涓嬩笉浼氬埌杈?00,閭d箞瀵箃3鐨勪唬鐮佹潵璇?澶у鏁版儏鍐典笅,璧扮殑鏄痚lse鍒嗘敮,鍙槸lock鍜寀nlock,鐒跺悗sleep().榪欐氮璐逛簡CPU澶勭悊鏃墮棿.
銆銆2) 涓轟簡鑺傜渷CPU澶勭悊鏃墮棿,t3浼氬湪鎺㈡祴鍒皊um娌″埌杈?00鐨勬椂鍊檚leep()涓孌墊椂闂?榪欐牱鍗村張甯︽潵鍙﹀涓涓棶棰?浜﹀嵆t3鍝嶅簲閫熷害涓嬮檷.鍙兘鍦╯um鍒拌揪200鐨勬椂鍊?t3鎵嶄細閱掕繃鏉?
銆銆3) 榪欐牱,紼嬪簭鍛樺湪璁劇疆sleep()鏃墮棿鐨勬椂鍊欓櫡鍏ヤ袱闅懼鍦?璁劇疆寰楀お鐭簡鑺傜渷涓嶄簡璧勬簮,澶暱浜嗗張闄嶄綆鍝嶅簲閫熷害.鐪熸槸闅懼姙鍟?

銆銆榪欎釜鏃跺?condition variable鍐呰¥澶栫┛,浠庡ぉ鑰岄檷,鎷晳浜嗙劍澶寸儌棰濈殑浣?

銆銆浣犻鍏堝畾涔変竴涓猚ondition variable.
銆銆pthread_cond_t cond_sum_ready=PTHREAD_COND_INITIALIZER;

銆銆t0,t1,t2鐨勪唬鐮佸彧瑕佸悗闈㈠姞涓よ,鍍忚繖鏍?br /> 銆銆add()
銆銆{
銆銆銆銆pthread_mutex_lock(lock_s);
銆銆銆銆sum++;
銆銆銆銆pthread_mutex_unlock(lock_s);
銆銆銆銆if(sum>=100)
銆銆銆銆pthread_cond_signal(&cond_sum_ready);
銆銆}
銆銆鑰宼3鐨勪唬鐮佸垯鏄?br /> 銆銆print
銆銆{
銆銆銆銆pthread_mutex_lock(lock_s);
銆銆銆銆while(sum<100)
銆銆銆銆pthread_cond_wait(&cond_sum_ready, &lock_s);
銆銆銆銆printf(“sum is over 100!”);
銆銆銆銆sum=0;
銆銆銆銆pthread_mutex_unlock(lock_s);
銆銆銆銆return OK;
銆銆}

娉ㄦ剰涓ょ偣:
銆銆1) 鍦╰hread_cond_wait()涔嬪墠,蹇呴』鍏坙ock鐩稿叧鑱旂殑mutex, 鍥犱負鍋囧鐩爣鏉′歡鏈弧瓚?pthread_cond_wait()瀹為檯涓婁細unlock璇utex, 鐒跺悗block,鍦ㄧ洰鏍囨潯浠舵弧瓚沖悗鍐嶉噸鏂發ock璇utex, 鐒跺悗榪斿洖.

銆銆2) 涓轟粈涔堟槸while(sum<100),鑰屼笉鏄痠f(sum<100) ?榪欐槸鍥犱負鍦╬thread_cond_signal()鍜宲thread_cond_wait()榪斿洖涔嬮棿,鏈夋椂闂村樊,鍋囪鍦ㄨ繖涓椂闂村樊鍐?榪樻湁鍙﹀涓涓嚎紼媡4鍙堟妸sum鍑忓皯鍒?00浠ヤ笅浜?閭d箞t3鍦╬thread_cond_wait()榪斿洖涔嬪悗,鏄劇劧搴旇鍐嶆鏌ヤ竴閬峴um鐨勫ぇ灝?榪欏氨鏄敤while鐨勭敤鎰?/p>


boost lib

http://www.stlchina.org/twiki/bin/view.pl/Main/BoostThread#safag7ZYn7rqw


鏂囩珷鍑哄錛欴IY閮ㄨ惤(http://www.diybl.com/course/3_program/c++/cppxl/20090508/166837.html)



]]>
POSIX thread (pthread) 綆浠?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285518.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Sat, 04 Jul 2009 17:06:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285518.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/285518.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/285518.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/285518.html</trackback:ping><description><![CDATA[dd dddddddddddddddd <img src ="http://www.tkk7.com/fhtdy2004/aggbug/285518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-05 01:06 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285518.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>POSIX綰跨▼鍜屼俊鍙烽噺灝忕粨http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285517.htmlFrank_FangFrank_FangSat, 04 Jul 2009 17:02:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285517.htmlhttp://www.tkk7.com/fhtdy2004/comments/285517.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285517.html#Feedback0http://www.tkk7.com/fhtdy2004/comments/commentRss/285517.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/285517.html淇″彿閲?/span>

鍩烘湰鎿嶄綔

#include <semaphore.h>
int sem_init(sem_t *sem, int pshared, unsigned int value);
int sem_wait(sem_t *sem);          /* P(sem), wait(sem) */
int sem_post(sem_t *sem);          /* V(sem), signal(sem) */

int sem_getvalue(sem_t *sem, int *sval);
int sem_trywait(sem_t *sem);

int sem_destroy(sem_t *sem);       /* undo sem_init() */

/* named semaphores - these are less useful here */
sem_t 
*sem_open(  );
int sem_close(sem_t *sem);
int sem_unlink(const char *name);

浜掓枼閲?/strong>

鍩烘湰鎿嶄綔

#include <pthread.h>
int pthread_mutex_init(pthread_mutex_t *mutex, pthread_mutexattr_t *attr);
pthread_mutex_t mutex 
= PTHREAD_MUTEX_INITIALIZER;
int pthread_mutex_lock(pthread_mutex_t *mutex);
int pthread_mutex_unlock(pthread_mutex_t *mutex);

int pthread_mutex_trylock(pthread_mutex_t *mutex);
int pthread_mutex_destroy(pthread_mutex_t *mutex); 

鏉′歡鍙橀噺

涓縐嶄俊鍙鋒満鍒?/p>

鍩烘湰鎿嶄綔

#include <pthread.h>
int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *attr);
pthread_cond_t cond 
= PTHREAD_COND_INITIALIZER;
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
int pthread_cond_signal(pthread_cond_t *cond);

int pthread_cond_timedwait(  );
int pthread_cond_broadcast(pthread_cond_t *cond);
int pthread_cond_destroy(pthread_cond_t *cond); 

浜掓枼閲廇淇濇姢鏉′歡鍙橀噺B

//絳夊緟鏂?/span>
pthread_mutex_lock(&A);
while(){//媯鏌ユ潯浠舵槸鍚︽弧瓚?/span>
    pthread_cond_wait(&B, &A);
}

  
/* wait浼氶殣寮忚В閿丄 */
  
/* wait鍚嶢浼氳闅愬紡閿佷綇A */
pthread_mutex_unlock(
&A);

//閫氱煡鏂?/span>
pthread_mutex_lock(&A);
pthread_cond_signal(
&B);
pthread_mutex_unlock(
&A);


]]>
Linux涓嬭繘紼嬬殑鍚勭鐘舵?/title><link>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285515.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Sat, 04 Jul 2009 16:21:00 GMT</pubDate><guid>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285515.html</guid><wfw:comment>http://www.tkk7.com/fhtdy2004/comments/285515.html</wfw:comment><comments>http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285515.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/fhtdy2004/comments/commentRss/285515.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/fhtdy2004/services/trackbacks/285515.html</trackback:ping><description><![CDATA[<p>Linux涓嬭繘紼嬬殑鍚勭鐘舵?br /> </p> <p><strong><span style="color: red"><strong>鎴戠殑闂鏉ヤ簡錛屽亣濡傛槸涓涓繘紼嬩嬌鐢ㄤ簡udp鐨勯樆濉瀝ecvfrom()鏂規硶錛屽湪緗戠粶榪炴帴娌℃湁鏁版嵁鍒拌揪鏃訛紝榪涚▼浼氬湪榪欎釜鏂規硶涓婇潰闃誨錛熻繖涓樆濉炵殑鎰忔濇槸榪涚▼浼氳繘鍏ョ瓑寰呴槦鍒楋紝姝ゆ椂鐨勮繘紼嬪浜庝笅鍒楃殑浠涔堢姸鎬侊紵錛熺劧鍚巆pu榪涜岃皟搴﹀叾浠栬繘紼嬨傘傘傝繕鏄痗pu浠嶇劧緇欐榪涚▼鍒嗛厤鏃墮棿鐗囧湪瀹冭嚜宸辯殑鏃墮棿鐗囦笂璁╁叾闃誨鍦ㄦ鏂規硶涓?榪欎笉鏄氮璐筩pu鏃墮棿??<br /> </strong>鎴戞槸鐪熺殑寰楀ソ濂界湅鐪嬫搷浣滅郴緇熺殑涔︿簡<br /> </span></strong><br /> D Uninterruptible sleep (usually IO)<br /> 涓嶅彲涓柇鐨勬繁搴︾潯鐪狅紝涓鑸敱IO寮曡搗錛屽悓姝O鍦ㄥ仛璇繪垨鍐欐搷浣滄椂錛屾榪涚▼涓嶈兘鍋氬叾瀹冧簨鎯咃紝鍙兘絳夊緟錛岃繖鏃惰繘紼嬪浜庤繖縐嶇姸鎬侊紝濡傛灉紼嬪簭閲囩敤寮傛IO錛岃繖縐嶇姸鎬佸簲璇ュ氨寰堝皯瑙佸埌浜?br />  <br /> R Running or runnable (on run queue)  <br /> 榪涚▼澶勪簬榪愯鎴栧氨緇姸鎬?br />  <br /> S Interruptible sleep (waiting for an event to complete) <br /> 鍙帴鏀朵俊鍙風殑鐫$湢鐘舵侊紝sleep鍑芥暟鍙紨紺鴻繖縐嶇姸鎬?br />  <br /> T Stopped, either by a job control signal or because it is being traced.<br /> 琚玞trl+z涓柇鎴栬trace<br />  <br /> W paging (not valid since the 2.6.xx kernel) <br />  <br /> X dead (should never be seen) <br /> 榪涚▼宸茬粡瀹屽叏姝繪帀錛屼笉鍙兘鐪嬭榪欑鐘舵佺殑<br />  <br /> Z Defunct ("zombie") process, terminated but not reaped by its parent.<br /> 榪涚▼宸茬粡緇堟錛屼絾鏄叾鐖惰繘紼嬫病鏈夋潵鍙婂鐞嗗畠錛屽榪涚▼鍐欎笉濂界殑璇濓紝榪欑鐘舵佹槸甯歌鐨?br />  <br /> For BSD formats and when the stat keyword is used, additional characters may <br /> be displayed: <br /> < high-priority (not nice to other users) <br />  <br /> N low-priority (nice to other users) <br />  <br /> L has pages locked into memory (for real-time and custom IO) <br />  <br /> s is a session leader<br />  <br /> l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) <br />  <br /> + is in the foreground process group<br />  <br /> 鍏充簬D鍜孼涓孌墊湁瓚g殑瑙i噴錛?br />  <br />     鏈変竴綾誨瀮鍦懼嵈騫墮潪榪欎箞瀹規槗鎵撴壂錛岄偅灝辨槸鎴戜滑甯歌鐨勭姸鎬佷負 D (Uninterruptible sleep) 錛屼互鍙婄姸鎬佷負 Z (Zombie) 鐨勫瀮鍦捐繘紼嬨傝繖浜涘瀮鍦捐繘紼嬭涔堟槸姹傝屼笉寰楋紝鍍忔ㄥ涓鑸瓑寰呰祫婧?D)錛岃涔堟槸鍍佃屼笉姝伙紝鍍忓啢欖備竴鏍風瓑寰呰秴搴?Z)錛屽畠浠湪 CPU run_queue 閲屾粸鐣欎笉鍘伙紝鎶?Load Average 寮勭殑鑰侀珮鑰侀珮錛屾病鐪嬭繃鎴戝墠涓綃嘼log鐨勫浗闄呭弸浜鴻繕浠ヤ負榪欏効姘戞ㄦ哺鑵懼張鍑轟簡浠涔堝ぇ浜嬪憿銆傛庝箞鍔烇紵寮鏋紒kill -9錛佺湅浣犱滑璧版槸涓嶈蛋銆備絾榪欎袱縐嶅瀮鍦捐繘紼嬪亸鍋忔槸鍒鏋笉鍏ョ殑錛屼笉綆℃崲鍝鏋硶閮芥潃涓嶆帀瀹冧滑銆傛棤濂堬紝鍙ソreboot錛屽儚鍓跨伃紱芥祦鎰熼偅鏍蜂笉鍒嗛潚綰㈢殏鐧藉湴涓寰嬫墤鏉錛?br />  <br />     鎬ㄥ D錛屽線寰鏄敱浜?I/O 璧勬簮寰椾笉鍒版弧瓚籌紝鑰屽紩鍙戠瓑寰咃紝鍦ㄥ唴鏍告簮鐮?fs/proc/array.c 閲岋紝鍏舵枃瀛楀畾涔変負“ "D (disk sleep)", /* 2 */ ”錛堢敱姝ゅ彲鐭?D 鍘熸槸Disk鐨勬墦澶村瓧姣嶏級錛屽搴旂潃 include/linux/sched.h 閲岀殑“ #define TASK_UNINTERRUPTIBLE 2 ”銆備婦涓緥瀛愶紝褰?NFS 鏈嶅姟绔叧闂箣鏃訛紝鑻ユ湭浜嬪厛 umount 鐩稿叧鐩綍錛屽湪 NFS 瀹㈡埛绔墽琛?df 灝變細鎸備綇鏁翠釜鐧誨綍浼氳瘽錛屾寜 Ctrl+C 銆丆trl+Z 閮芥棤嫻庝簬浜嬨傛柇寮榪炴帴鍐嶇櫥褰曪紝鎵ц ps axf 鍒欑湅鍒板垰鎵嶇殑 df 榪涚▼鐘舵佷綅宸插彉鎴愪簡 D 錛宬ill -9 鏃犳硶鏉鐏傛紜殑澶勭悊鏂瑰紡錛屾槸椹笂鎭㈠ NFS 鏈嶅姟绔紝鍐嶅害鎻愪緵鏈嶅姟錛屽垰鎵嶆寕璧風殑 df 榪涚▼鍙戠幇浜嗗叾鑻﹁嫤絳夊緟鐨勮祫婧愶紝渚垮畬鎴愪換鍔★紝鑷姩娑堜骸銆傝嫢 NFS 鏈嶅姟绔棤娉曟仮澶嶆湇鍔★紝鍦?reboot 涔嬪墠涔熷簲灝?/etc/mtab 閲岀殑鐩稿叧 NFS mount 欏瑰垹闄わ紝浠ュ厤 reboot 榪囩▼渚嬭璋冪敤 netfs stop 鏃跺啀嬈″彂鐢熺瓑寰呰祫婧愶紝瀵艱嚧緋葷粺閲嶅惎榪囩▼鎸傝搗銆?/p> <p>銆銆鍐ら瓊 Z 涔嬫墍浠ユ潃涓嶆錛屾槸鍥犱負瀹冨凡緇忔浜嗭紝鍚﹀垯鎬庝箞鍙?Zombie錛堝兊灝革級鍛紵鍐ら瓊涓嶆暎錛岃嚜鐒舵槸鐢熷墠鏈夌粨鏈В涔嬫晠銆傚湪UNIX/Linux涓紝姣忎釜榪涚▼閮芥湁涓涓埗榪涚▼錛岃繘紼嬪彿鍙玃ID錛圥rocess ID錛夛紝鐩稿簲鍦幫紝鐖惰繘紼嬪彿灝卞彨PPID錛圥arent PID錛夈傚綋榪涚▼姝諱骸鏃訛紝瀹冧細鑷姩鍏抽棴宸叉墦寮鐨勬枃浠訛紝鑸嶅純宸插崰鐢ㄧ殑鍐呭瓨銆佷氦鎹㈢┖闂寸瓑絳夌郴緇熻祫婧愶紝鐒跺悗鍚戝叾鐖惰繘紼嬭繑鍥炰竴涓鍑虹姸鎬佸鹼紝鎶ュ憡姝昏銆傚鏋滅▼搴忔湁 bug錛屽氨浼氬湪榪欐渶鍚庝竴姝ュ嚭闂銆傚効瀛愯鎴戞浜嗭紝鑰佸瓙鍗存病鍚錛屾病鏈夊強鏃舵敹媯哄叆孌擄紝鍎垮瓙渚挎垚浜嗗兊灝搞傚湪UNIX/Linux涓秷鐏兊灝哥殑鎵嬫姣旇緝孌嬪繊錛屾墽琛?ps axjf 鎵懼嚭鍍靛案榪涚▼鐨勭埗榪涚▼鍙鳳紙PPID錛岀涓鍒楋級錛屽厛鏉鍏剁埗錛岀劧鍚庡啀鐢辮繘紼嬪ぉ瀛?init錛堝叾PID涓?錛孭PID涓?錛夋潵涓璧鋒敹鎷劇埗瀛愬兊灝革紝瓚呭害浜¢瓊錛屽線鐢熸瀬涔愩傛敞鎰忥紝瀛愯繘紼嬪彉鎴愬兊灝稿彧鏄鐪艱屽凡錛屽茍涓嶇浜嬶紝濡傛灉鍍靛案鐨勭埗榪涚▼褰撳墠鏈夎鍔″湪韜紝鍒欏崈涓囦笉鍙錘鐒舵潃涔嬨?/p> <img src ="http://www.tkk7.com/fhtdy2004/aggbug/285515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-07-05 00:21 <a href="http://www.tkk7.com/fhtdy2004/archive/2009/07/05/285515.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>waitpidhttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285514.htmlFrank_FangFrank_FangSat, 04 Jul 2009 16:01:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285514.htmlhttp://www.tkk7.com/fhtdy2004/comments/285514.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/07/05/285514.html#Feedback0http://www.tkk7.com/fhtdy2004/comments/commentRss/285514.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/285514.html 銆銆琛ㄥご鏂囦歡
銆銆#include<sys/types.h>
銆銆#include<sys/wait.h>
銆銆瀹氫箟鍑芥暟 pid_t waitpid(pid_t pid,int * status,int options);
銆銆鍑芥暟璇存槑
銆銆waitpid()浼氭殏鏃跺仠姝㈢洰鍓嶈繘紼嬬殑鎵ц,鐩村埌鏈変俊鍙鋒潵鍒版垨瀛愯繘紼?br /> 銆銆緇撴潫銆傚鏋滃湪璋冪敤 wait()鏃跺瓙榪涚▼宸茬粡緇撴潫,鍒?wait()浼氱珛鍗?br /> 銆銆榪斿洖瀛愯繘紼嬬粨鏉熺姸鎬佸箋?瀛愯繘紼嬬殑緇撴潫鐘舵佸間細鐢卞弬鏁?status 榪斿洖,
銆銆鑰屽瓙榪涚▼鐨勮繘紼嬭瘑鍒爜涔熶細涓璧瘋繑鍥炪傚鏋滀笉鍦ㄦ剰緇撴潫鐘舵佸?鍒?br /> 銆銆鍙傛暟 status 鍙互璁炬垚 NULL銆傚弬鏁?pid 涓烘絳夊緟鐨勫瓙榪涚▼璇嗗埆鐮?
銆銆鍏朵粬鏁板兼剰涔夊涓?
銆銆pid<-1 絳夊緟榪涚▼緇勮瘑鍒爜涓?pid 緇濆鍊肩殑浠諱綍瀛愯繘紼嬨?br /> 銆銆pid=-1 絳夊緟浠諱綍瀛愯繘紼?鐩稿綋浜?wait()銆?
銆銆pid=0 絳夊緟榪涚▼緇勮瘑鍒爜涓庣洰鍓嶈繘紼嬬浉鍚岀殑浠諱綍瀛愯繘紼嬨?
銆銆pid>0 絳夊緟浠諱綍瀛愯繘紼嬭瘑鍒爜涓?pid 鐨勫瓙榪涚▼銆?br /> 銆銆鍙傛暟 option 鍙互涓?0 鎴栦笅闈㈢殑 OR 緇勫悎:
銆銆WNOHANG 濡傛灉娌℃湁浠諱綍宸茬粡緇撴潫鐨勫瓙榪涚▼鍒欓┈涓婅繑鍥? 涓嶄簣浠ョ瓑寰呫?br /> 銆銆WUNTRACED 濡傛灉瀛愯繘紼嬭繘鍏ユ殏鍋滄墽琛屾儏鍐靛垯椹笂榪斿洖,浣嗙粨鏉熺姸鎬佷笉浜堜互鐞嗕細銆?br /> 銆銆瀛愯繘紼嬬殑緇撴潫鐘舵佽繑鍥炲悗瀛樹簬 status,搴曚笅鏈夊嚑涓畯鍙垽鍒粨鏉熸儏鍐?
銆銆WIFEXITED(status)濡傛灉瀛愯繘紼嬫甯哥粨鏉熷垯涓洪潪 0 鍊箋?br /> 銆銆WEXITSTATUS(status)鍙栧緱瀛愯繘紼?exit()榪斿洖鐨勭粨鏉熶唬鐮?涓鑸細鍏堢敤 WIFEXITED 鏉ュ垽鏂槸鍚︽甯哥粨鏉熸墠鑳戒嬌鐢ㄦ瀹忋?br /> 銆銆WIFSIGNALED(status)濡傛灉瀛愯繘紼嬫槸鍥犱負淇″彿鑰岀粨鏉熷垯姝ゅ畯鍊間負鐪?br /> 銆銆WTERMSIG(status) 鍙栧緱瀛愯繘紼嬪洜淇″彿鑰屼腑姝㈢殑淇″彿浠g爜,涓鑸細鍏堢敤 WIFSIGNALED 鏉ュ垽鏂悗鎵嶄嬌鐢ㄦ瀹忋?br /> 銆銆WIFSTOPPED(status) 濡傛灉瀛愯繘紼嬪浜庢殏鍋滄墽琛屾儏鍐靛垯姝ゅ畯鍊間負鐪熴備竴鑸彧鏈変嬌鐢?WUNTRACED 鏃舵墠浼氭湁姝ゆ儏鍐點?br /> 銆銆WSTOPSIG(status) 鍙栧緱寮曞彂瀛愯繘紼嬫殏鍋滅殑淇″彿浠g爜,涓鑸細鍏堢敤 WIFSTOPPED 鏉ュ垽鏂悗鎵嶄嬌鐢ㄦ瀹忋?br /> 銆銆濡傛灉鎵ц鎴愬姛鍒欒繑鍥炲瓙榪涚▼璇嗗埆鐮?PID) ,濡傛灉鏈夐敊璇彂鐢熷垯榪斿洖
銆銆榪斿洖鍊?1銆傚け璐ュ師鍥犲瓨浜?errno 涓?br /> 銆銆/******
銆銆* waitpid.c - Simple wait usage
銆銆*********/
銆銆#include <unistd.h>
銆銆#include <sys/types.h>
銆銆#include <sys/wait.h>
銆銆#include <stdio.h>
銆銆#include <stdlib.h>
銆銆int main( void )
銆銆{
銆銆pid_t childpid;
銆銆int status;
銆銆childpid = fork();
銆銆if ( -1 == childpid )
銆銆{
銆銆perror( "fork()" );
銆銆exit( EXIT_FAILURE );
銆銆}
銆銆else if ( 0 == childpid )
銆銆{
銆銆puts( "In child process" );
銆銆sleep( 3 );//璁╁瓙榪涚▼鐫$湢3縐掞紝鐪嬬湅鐖惰繘紼嬬殑琛屼負
銆銆printf("\tchild pid = %d\n", getpid());
銆銆printf("\tchild ppid = %d\n", getppid());
銆銆exit(EXIT_SUCCESS);
銆銆}
銆銆else
銆銆{
銆銆waitpid( childpid, &status, 0 );
銆銆puts( "in parent" );
銆銆printf( "\tparent pid = %d\n", getpid() );
銆銆printf( "\tparent ppid = %d\n", getppid() );
銆銆printf( "\tchild process exited with status %d \n", status );
銆銆}
銆銆exit(EXIT_SUCCESS);
銆銆}
銆銆[root@localhost src]# gcc waitpid.c
銆銆[root@localhost src]# ./a.out
銆銆In child process
銆銆child pid = 4469
銆銆child ppid = 4468
銆銆in parent
銆銆parent pid = 4468
銆銆parent ppid = 4379
銆銆child process exited with status 0
銆銆[root@localhost src]#
銆銆濡傛灉灝嗕笂闈?#8220;waitpid( childpid, &status, 0 );”琛屾敞閲婃帀錛岀▼搴忔墽琛屾晥鏋滃涓嬶細
銆銆[root@localhost src]# ./a.out
銆銆In child process
銆銆in parent
銆銆parent pid = 4481
銆銆parent ppid = 4379
銆銆child process exited with status 1331234400
銆銆[root@localhost src]# child pid = 4482
銆銆child ppid = 1
銆銆瀛愯繘紼嬭繕娌℃湁閫鍑猴紝鐖惰繘紼嬪凡緇忛鍑轟簡銆?

]]>
Java涓瓀ait鍜宯otify涓嶢CE涓皝瑁卲thread鏉′歡鍙橀噺鏉ュ疄鐜頒俊鍙烽噺http://www.tkk7.com/fhtdy2004/archive/2009/06/02/279553.htmlFrank_FangFrank_FangTue, 02 Jun 2009 05:16:00 GMThttp://www.tkk7.com/fhtdy2004/archive/2009/06/02/279553.htmlhttp://www.tkk7.com/fhtdy2004/comments/279553.htmlhttp://www.tkk7.com/fhtdy2004/archive/2009/06/02/279553.html#Feedback0http://www.tkk7.com/fhtdy2004/comments/commentRss/279553.htmlhttp://www.tkk7.com/fhtdy2004/services/trackbacks/279553.htmlJava涓殑wait鍜宯otify鍚屾鏈哄埗鍜宲thread涓殑鏉′歡鍙橀噺鍘熺悊闈炲父鐨勭被浼?br /> 姣斿鍦ㄥ疄鐜頒俊鍙烽噺Semaphore鏃?br /> Java

ACE



]]>
主站蜘蛛池模板: 东北美女野外bbwbbw免费| 狠狠色伊人亚洲综合网站色| 国产VA免费精品高清在线| 永久免费AV无码网站在线观看| 亚洲国产成人综合| 毛片a级毛片免费播放100| 亚洲国产成人久久精品大牛影视| 免费无码又爽又刺激高潮| 亚洲日韩国产欧美一区二区三区 | 亚洲国产精品福利片在线观看| 人妻免费久久久久久久了| 久久综合亚洲色HEZYO国产| 免费黄网站在线看| 亚洲AV日韩AV一区二区三曲| 国产午夜影视大全免费观看| 国产精品亚洲av色欲三区| 亚洲一区二区三区免费| 男女午夜24式免费视频| 亚洲免费精彩视频在线观看| 在线免费一区二区| 一级毛片免费毛片毛片| 亚洲91av视频| 国产高清免费的视频| 国产免费阿v精品视频网址| 亚洲一级毛片中文字幕| 亚洲国产精品人人做人人爽| 国产精品爱啪在线线免费观看| 亚洲精品无码久久久久YW| 亚洲国产成人久久精品动漫| 美女被免费视频网站a国产 | 亚洲人精品午夜射精日韩| 永久免费视频网站在线观看| 亚洲w码欧洲s码免费| 中文字幕专区在线亚洲| 成人免费视频软件网站| 国产高清免费视频| a毛片免费全部在线播放**| 亚洲日韩精品无码专区加勒比| 亚洲成a人片在线观看中文动漫| 亚洲一级片免费看| 日本不卡在线观看免费v|