锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美岛国在线观看,亚洲毛片在线观看,国产精品久久影院http://www.shnenglu.com/martin/thinkingzh-cnWed, 24 Sep 2025 01:39:11 GMTWed, 24 Sep 2025 01:39:11 GMT60Linux鎿嶄綔緋葷粺涓腑鏂笂涓嬫枃涓殑浜掓枼http://www.shnenglu.com/martin/archive/2013/07/08/201611.htmlmartin_yahoomartin_yahooMon, 08 Jul 2013 06:01:00 GMThttp://www.shnenglu.com/martin/archive/2013/07/08/201611.htmlhttp://www.shnenglu.com/martin/comments/201611.htmlhttp://www.shnenglu.com/martin/archive/2013/07/08/201611.html#Feedback0http://www.shnenglu.com/martin/comments/commentRss/201611.htmlhttp://www.shnenglu.com/martin/services/trackbacks/201611.html鍦ㄤ腑鏂腑娌℃湁榪涚▼涓婁笅鏂囷紝鑰屽叿鏈変腑鏂笂涓嬫枃錛屽洜姝ゅ湪涓柇涓婁笅鏂囦腑涓嶈兘鍙戠敓鐫$湢錛屼篃灝辨槸涓嶈兘鍙戠敓榪涚▼鍒囨崲銆?br />榪欏氨鍐沖畾浜嗗湪鍦ㄤ腑鏂笂涓嬫枃涓笉鑳介噰鐢ㄥ悓姝ュ師璇紙淇″彿閲忥紝綆$▼銆佸悓姝ュ彉閲忕瓑錛夊拰闀挎湡浜掓枼鍘熻錛堣繖浼氬鑷磋繘紼嬬潯鐪狅級錛?鑰屽彧鑳介噰鐢ㄧ煭鏈熶簰鏂ュ師璇紙渚嬪鑷棆閿侊級銆?br />
鏇劇粡錛屼腑鏂鐞嗙▼搴忓茍涓嶅叿鏈夎嚜宸辯殑鏍堛傜浉鍙嶏紝瀹冧滑鍏變韓鎵涓柇榪涚▼鐨勫唴鏍告爤銆傚唴鏍告爤鐨勫ぇ灝忔槸涓ら〉錛屽叿浣撳湴璇達紝鍦?2浣嶄綋緋葷粨鏋勪笂鏄?KB,鍦?4浣嶄綋緋葷粨鏋勪笂鏄?6KB.
鐜板湪銆備腑鏂鐞嗙▼搴忔湁浜嗚嚜宸辯殑鏍堬紝姣忎釜澶勭悊鍣ㄤ竴涓紝澶у皬涓轟竴欏點傝繖涓爤灝辯О涓轟腑鏂爤錛屽敖綆′腑鏂爤鐨勫ぇ灝忔槸鍘熷厛鍏變韓鏍堢殑涓鍗婏紝浣嗗鉤鍧囧彲鐢ㄦ爤絀洪棿澶у緱澶氾紝鍥犱負涓柇澶勭悊
紼嬪簭鎶婅繖涓鏁撮〉鍗犱負宸辨湁銆?br />
UP錛堝崟CPU緋葷粺)涓婄殑涓柇澶勭悊
浜掓枼
濡傛灉涓涓腑鏂鐞嗙▼搴忕殑浠g爜璁塊棶鎴栬呮洿鏂頒簡鐢遍潪涓柇鐨勪唬鐮侊紙閫氬父縐頒負鍩哄噯浠g爜錛変嬌鐢ㄧ殑鍚屼竴鏁版嵁緇撴瀯錛岄偅涔堝氨浼氬嚭鐜扮珵浜夋潯浠躲?br />騫歌繍鐨勬槸錛屽緱鍒板厑璁哥殑浠ュ唴鏍告佹墽琛岀殑榪涚▼浼氫復鏃剁姝腑鏂傚洜姝わ紝鍙鍩哄噯浠g爜瑕佹洿鏂頒竴涓笌涓柇澶勭悊紼嬪簭鍏變韓鐨勬暟鎹粨鏋勶紝閭d箞灝?br />棣栧厛紱佹涓柇錛屾墽琛屼復鐣屾錛岀劧鍚庡啀閲嶆柊鍏佽涓柇銆傜姝㈠拰鍏佽涓柇鐨勫姩浣滃氨瀹炵幇浜嗕簰鏂ャ?br />鍦ㄩ噰鍙栦腑鏂簰鏂ユ椂錛屽繀欏諱嬌鐢ㄥ嚱鏁版樉紺哄湴鎶婄紪鐮佸啓鍏ョ畻娉曚腑銆?br />
MP錛堝CPU緋葷粺錛変笂
鍦∕P緋葷粺涓婏紝涓柇鍙互鍦ㄤ換浣曞鐞嗗櫒涓婂嚭鐜般備粠鏈浣庨檺搴︿笂鏉ヨ錛屾瘡涓繘紼嬩細鎺ユ敹鏃墮挓涓柇錛屼絾涔熷彲鑳芥帴鏀禝/O涓柇銆傚湪MP緋葷粺涓婏紝渚嬬▼
SPL錛堢姝腑鏂級鎵鎻愪緵鐨勪繚鎶ゅ茍涓嶅厖鍒嗭紝鍥犱負瀹冧滑鎵ц褰卞搷鎵ц瀹冧滑鐨勫鐞嗗櫒涓婄殑涓柇浼樺厛綰с備腑鏂彲鑳戒細鍦ㄥ彟涓涓鐞嗗櫒涓婂嚭鐜幫紝濡傛灉璁懼椹卞姩紼嬪簭
姝e湪鍒榪愯錛岄偅涔堜細閫犳垚涓涓珵浜夋潯浠躲傚洜涓轟腑鏂鐞嗙▼搴忎唬琛ㄥ彟涓涓繘鍏ュ唴鏍哥殑鍏ュ彛鐐廣?br />
褰撳熀鍑嗛┍鍔ㄧ▼搴忎唬鐮佸拰涓柇澶勭悊紼嬪簭涔嬮棿鍏變韓鏁版嵁緇撴瀯鏃訛紝UP鍙互閫氳繃灞忚斀涓柇鏉ラ槻姝㈠嚭鐜扮珵浜夋潯浠剁殑鎶鏈紝鍦ㄥ綰跨▼MP鍐呮牳涓繕涓嶅厖鍒嗐?br />涓寸晫孌佃鍦ㄤ竴涓鐞嗗櫒涓婃墽琛岋紝鎵ц灞忚斀涓柇渚嬬▼鍙細灞忚斀鍦ㄩ偅涓鐞嗗櫒涓婂嚭鐜扮殑涓柇銆傚鏋滃湪鍒殑澶勭悊鍣ㄤ笂鍑虹幇涓柇錛岄偅涔堢珛鍗沖氨浼氭湁
涓や釜澶勭悊鍣ㄥ悓鏃惰闂佽屼笖鍙兘鏇存柊涓寸晫璧勬簮銆傛棦鐒惰繖浜涗復鐣屾闇瑕佺煭鏈熶簰鏂ワ紝閭d箞鍙互浣跨敤鑷棆閿佹潵瀵規暟鎹繘琛屼繚鎶ゃ?br />
濡傛灉涓嶈冭檻涓柇澶勭悊紼嬪簭鍜屽熀鍑嗕唬鐮佷箣闂寸殑浜掓枼錛屽垯Linux涓殑涓柇澶勭悊紼嬪簭鏄棤欏婚噸鍏ョ殑銆傚綋涓涓粰瀹氱殑涓柇澶勭悊紼嬪簭姝e湪鎵ц鏃訛紝鐩稿簲鐨勪腑鏂嚎
鍦ㄦ墍鏈夊鐞嗗櫒涓婇兘浼氳灞忚斀鎺夛紝浠ラ槻姝㈠悓涓涓柇綰夸笂鎺ユ敹鍙︿竴涓柊鐨勪腑鏂傞氬父鎯呭喌涓嬶紝鎵鏈夌殑鍏朵粬涓柇閮芥槸鎵撳紑鐨勶紝鎵浠ヨ繖浜涗笉鍚屼腑鏂嚎涓婄殑鍏朵粬涓柇
閮借兘澶勭悊錛屼絾褰撳墠涓柇綰挎繪槸琚姝㈢殑銆傜敱姝ゅ彲浠ョ湅鍑猴紝鍚屼竴涓腑鏂鐞嗙▼搴忕粷涓嶄細琚悓鏃惰皟鐢ㄤ互澶勭悊宓屽鐨勪腑鏂傝繖鏋佸ぇ鍦扮畝鍖栦簡涓柇紼嬪簭鐨勭紪鍐欍?/div>

]]>unix 綾葷郴緇熶腑鐨勮繘紼嬪悓姝ユ柟寮忎唬鐮佺ず渚?/title><link>http://www.shnenglu.com/martin/archive/2013/06/20/201176.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Thu, 20 Jun 2013 07:02:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2013/06/20/201176.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/201176.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2013/06/20/201176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/201176.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/201176.html</trackback:ping><description><![CDATA[MP(澶欳PU錛夊悓姝ュ師璇唬鐮佺ず渚?br />                   ----寮曡嚜銆婄幇浠d綋緋葷粨鏋勪笂鐨刄NIX緋葷粺銆?br /><br />涓轟簡渚夸簬瀵圭ず渚嬬殑灞曞紑錛屾垜浠鍏堝亣瀹氫竴涓満鏅細<br />鍐呮牳涓妸媯嫻嬪埌鐨勯敊璇俊鎭褰曞埌涓涓鐩樻枃浠朵腑鐨勬儏褰€傚嚭閿欎俊鎭氳繃鍐呭瓨涓殑涓涓槦鍒楁潵浼犻掔粰鏃ュ織榪涚▼錛坙ogging process)鐨勩?br />褰撳嚭鐜頒竴涓敊璇椂錛屽氨鍦ㄩ槦鍒椾腑鍔犲叆涓欏癸紝騫朵笖閫氳繃璋冪敤鍑芥暟log_error 閫氱煡鏃ュ織榪涚▼銆傚嚭閿欐棩蹇楄繘紼嬫帴鐫鎶婇槦鍒椾腑鐨勯」鍐欏埌紓佺洏涓娿?br />榪欏氨浣垮緱紕板埌閿欒鐨勮繘紼嬩笉蹇呯瓑鍊橧/O瀹屾垚鎴栬呮垨寰椾負浜嗗悜鏂囦歡鎵цI/O鑰屽彲鑳介渶瑕佺殑浠諱綍閿侊紝騫朵笖閬垮厤浜嗕換浣曞彲鑳界殑涓婇攣嬈″簭闂銆?br /><br />浠g爜1錛?閲囩敤浜嬩歡璁℃暟鐨勫嚭閿欐棩蹇楅氱煡鏈哄埗<br /><br />                                                鏃ュ織榪涚▼<br />log_error(error)                    |<br />{                                         |       for(next=1; ; next++) {<br />    lock(&err_queue);             |           await(&err_event, next);<br />    鎶婂嚭閿欎俊鎭姞鍏ュ埌闃熷垪           |          lock(&err_queue);<br />    unlock(&err_queue);          |          浠庨槦鍒椾腑鍒犻櫎欏?br />    advance(&err_event);        |          unlock(&err_queue);<br />}                                         |          write error to disk<br />                                           |       }<br /><br />闃熷垪鏈韓鐢變竴涓嚜鏃嬮攣鏉ヤ繚鎶ゃ傚湪鏈緥涓紝浜嬩歡璁℃暟鍙敤浜庡悓姝ョ殑鐩殑錛屽茍涓嶆彁渚涗簰鏂ャ?br />鍦ㄨ瘯鐢ㄤ簨浠惰鏁扮殑鏃跺欙紝advance鎿嶄綔浼氭案涔呮у湴鏀瑰彉浜嬩歡璁℃暟鐨勭姸鎬併俛dvance鍜宎wait鎿嶄綔鐨勭浉瀵規椂搴忔病鏈夊叧緋匯?br /><br />浠g爜2錛?閲囩敤鍚屾鍙橀噺鐨勫嚭閿欐棩蹇楅氱煡鏈哄埗<br />                                                 鏃ュ織榪涚▼<br />log_error(error)                            |<br />{                                                 |        for(;;){<br />   lock(&err_queue);                      |              lock(&err_queue);<br />   鎶婂嚭閿欎俊鎭姞鍏ュ埌闃熷垪                    |              if (queue_empty){<br />   SV_SIGNAL(&err_syncvar, 0);      |                  SV_WAIT(&err_syncvar, PRI, &err_queue);<br />   unlock(&err_queue);                   |                  lock(&err_queue);<br />}                                                 |              }<br />                                                   |              浠庨槦鍒椾腑鍒犻櫎欏?br />                                                   |              unlock(&err_queue);<br />                                                   |              鎶婇敊璇啓鍏ョ鐩?br />                                                   |        }<br /><br />鍥犱負鍚屾鍙橀噺鑷韓娌℃湁淇濈暀鐘舵侊紝鎵浠ュ綋鏃ュ織榪涚▼嫻嬭瘯闃熷垪鐨勭姸鎬佸茍鍐沖畾鏄瓑寰呬竴欏硅繕鏄粠闃熷垪涓垹闄や竴欏圭殑鏃跺欙紝蹇呴』鍗犳湁鑷棆閿併傜被浼煎湴錛宭og_error鍦?br />鍙戦佷俊鍙鋒椂涔熷繀欏誨崰鏈夎嚜鏃嬮攣銆傛敞錛孲V_WAIT灝嗛噴鏀捐嚜鏃嬮攣錛屽茍涓旈樆濉炴棩蹇楄繘紼?SV_SIGNAL鍒板悗浠庨樆濉炲緇х畫鎵ц銆?br /><br />浠g爜3錛?閲囩敤綆$▼鐨勫嚭閿欐棩蹇楅氱煡鏈哄埗<br />                                                                 鏃ュ織榪涚▼<br />log_error(error)                                  |       for(;;){<br />{                                                       |           mon_enter(&err_mon);<br />   mon_enter(&err_mon);                     |           if (queue empty)<br />   鎶婂嚭閿欎俊鎭姞鍏ュ埌闃熷垪                          |               mon_wait(&err_mon, NEWENTRY);<br />                                                         |<br />   mon_signal(&err_mon, NEWENTRY);  |           浠庨槦鍒椾腑鍒犻櫎欏?br />   mon_exit(&err_mon);                       |           mon_exit(&err_mon);<br />}                                                       |           鎶婇敊璇啓鍏ョ鐩?br />                                                         |       }<br />                                    <br />浠g爜4錛?閲囩敤淇″彿閲忕殑鍑洪敊鏃ュ織閫氱煡鏈哄埗<br />                                                鏃ュ織榪涚▼<br />log_error(error)                      |       for(;;){<br />{                                          |           P(&err_sema);<br />    lock(&err_queue);               |           lock(&err_queue);<br />    鎶婂嚭閿欎俊鎭姞鍏ュ埌闃熷垪            |           浠庨槦鍒椾腑鍒犻櫎欏?br />    unlock(err_queue);              |           unlock(&err_queue);<br />    V(&err_sema);                   |           鎶婇敊璇啓鍏ョ鐩?br />}                                          |       }<img src ="http://www.shnenglu.com/martin/aggbug/201176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2013-06-20 15:02 <a href="http://www.shnenglu.com/martin/archive/2013/06/20/201176.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>unix 綾葷郴緇熶腑鐨勮繘紼嬪悓姝ユ柟寮忔葷粨http://www.shnenglu.com/martin/archive/2013/06/20/201174.htmlmartin_yahoomartin_yahooThu, 20 Jun 2013 05:49:00 GMThttp://www.shnenglu.com/martin/archive/2013/06/20/201174.htmlhttp://www.shnenglu.com/martin/comments/201174.htmlhttp://www.shnenglu.com/martin/archive/2013/06/20/201174.html#Feedback2http://www.shnenglu.com/martin/comments/commentRss/201174.htmlhttp://www.shnenglu.com/martin/services/trackbacks/201174.html鍏鋒湁鍚屾鍏崇郴鐨勪竴緇勫茍鍙戣繘紼嬬О涓哄悎浣滆繘紼嬶紝鍚堜綔榪涚▼闂翠簰鐩稿彂閫佺殑淇″彿縐頒負娑堟伅鎴栦簨浠躲?濡傛灉鎴戜滑瀵逛竴涓秷鎭垨浜嬩歡璧嬩互鍞竴鐨勬秷鎭悕錛屽垯鎴戜滑
鍙敤榪囩▼銆wait (娑堟伅鍚?銆 琛ㄧず榪涚▼絳夊緟鍚堜綔榪涚▼鍙戞潵鐨勬秷鎭紝鑰岀敤榪囩▼銆signal (娑堟伅鍚? 琛ㄧず鍚戝悎浣滆繘紼嬪彂閫佹秷鎭?br />(寮曡嚜鐧懼害鐧劇錛?br />
榪涚▼闂寸殑鍚屾鏂瑰紡錛?br />涓轟簡瀹炵幇榪涚▼浜掓枼鍦拌繘鍏ヨ嚜宸辯殑涓寸晫鍖猴紝鎿嶄綔緋葷粺涓緗笓闂ㄧ殑鍚屾鏈哄埗鏉ュ崗璋冨悇榪涚▼闂寸殑榪愯銆傛墍鏈夌殑鍚屾鏈哄埗閮藉簲閬靛驚涓嬩功鍥涙潯鍑嗗垯錛?br />1錛夌┖闂茶榪?br />2錛夊繖鍒欑瓑寰?br />3錛夋湁闄愮瓑寰?br />4錛夎鏉冨師鍒欍傚綋榪涚▼涓嶈兘榪涘叆鑷繁鐨勪復鐣屽尯鏃訛紝搴旂珛鍗抽噴鏀懼鐞嗘満錛屼互鍏嶈繘紼嬮櫡鍏?#8220;蹇欑瓑”鐘舵併?br />
1.鍗旵PU (UP)鏈哄櫒鍒╃敤sleep/wakeup鍑芥暟瀵瑰疄鐜板悓姝ユ満鍒躲?br />鍑芥暟sleep鏄竴涓唴閮ㄧ殑鍐呮牳渚嬬▼錛屽畠鎸傝搗璋冪敤瀹冪殑榪涚▼錛岀洿鍒版寚瀹氱殑浜嬩歡鍙戠敓涓烘銆傝繖鏄竴涓互鍐呮牳鎬佽繍琛岀殑榪涚▼鑷効鍑鴻鎺у埗鏉冿紝鍏佽鑷繁琚姠鍗犮?br />鍑芥暟wakeup鐢ㄤ簬鍙戝嚭涓涓壒瀹氫簨浠跺凡緇忓嚭鐜扮殑淇″彿錛屽畠浣垮緱鎵鏈夌瓑寰呰浜嬩歡鐨勮繘紼嬭鍞ら啋錛屽茍鏀懼洖鍒拌繍琛岄槦鍒椾腑銆備簨浠剁敤涓涓暣鏁板兼潵琛ㄧず錛屽畠寰寰
鏄浜嬩歡鐩稿叧鐨勫唴鏍告暟鎹粨鏋勭殑鍦板潃銆?br />
void lock_object( char *flag_ptr)
{
    lock(&object_locking);        //鑷棆閿?br />     while (*flag_ptr)
           sleep(flag_ptr);
     *flag_ptr = 1;
    unlock(&object_locking);
}

void unlock_object( char *flag_ptr)
{
    lock( &object_locking );
    *flag_ptr = 0;
    wakeup( flag_ptr);
    unlock( &object_locking );
}

搴斾負wakeup鎿嶄綔娌℃湁璁板繂錛屾墍浠akeup鍑芥暟蹇呴』鍞ら啋鍦ㄥ悓涓浜嬩歡涓婄潯鐪犵殑鎵鏈夎繘紼嬨傚湪澶欳PU緋葷粺涓婏紝鍗矼P涓妔leep/wakeup鏈哄埗涓嶈搗浣滅敤銆?br />
2.SVR4.2 MP 鎻愪緵浜嗗崟鐙殑鎵ц榪涚▼鍚屾鐨勫師璇細鍚屾鍙橀噺銆?br />鍥犱負鍚屾鍙橀噺涓嶅寘鍚姸鎬侊紝鎵浠ュ彲浠ユ妸瀹冧滑鎯蟲垚鏄痵leep/wakeup鐨勪竴縐峂P鍙樺艦銆傜浉鍙嶏紝鎵闇鐨勪換浣曠姸鎬佷俊鎭兘淇濆瓨鍦ㄥ閮ㄦ爣蹇楁垨鑰呰鏁板櫒涓?br />鍚屾鍙橀噺鐨勮璁¤鍚岃嚜鏃嬮攣閰嶅悎宸ヤ綔銆?br />
鍚屾鍙橀噺琚0鏄庝負sv_t綾誨瀷錛岄噰鐢ㄤ笅闈㈢殑鍑芥暟鍙互緇欏畠鍒嗛厤絀洪棿鍜岃繘琛屽垵濮嬪寲錛?br />sv_t *SV_ALLOC( int slpflag);
slpflag鎸囧畾錛屽鏋滈渶瑕佷負鍚屾鍙橀噺鍒嗛厤鍐呭瓨錛岄偅涔堟槸鍚﹁兘闃誨榪涚▼銆?br />
鍥炴敹鍚屾鍙橀噺鍙互璋冪敤
void SV_DEALLOC( sv_t *svp );

鍐呮牳甯屾湜鍗曠嫭絳夊欑殑姣忎竴涓簨浠墮兘鐢ㄤ竴涓笉鍚岀殑鍚屾鍙橀噺鏉ヨ〃紺猴紝榪欏氨濂芥瘮閰嶅悎sleep濡備綍浣跨敤鍞竴鐨勪簨浠跺弬鏁般?br />void SV_WAIT( sv_t *svp, int pri, lock_t *lockp );

瑕佽Е鍙戝湪鍚屾鍙橀噺涓婄殑浜嬩歡錛屽彲浠ヤ嬌鐢ㄤ笅闈㈢殑鍑芥暟錛?br />void SV_SIGNAL( sv_t *svp, int flags);
SV_SIGNAL涓巜akeup鐨勭浉浼間箣澶勫湪浜庯紝濡傛灉娌℃湁姝e湪鐫$湢鐨勮繘紼嬶紝閭d箞灝卞榪囧幓鏇劇粡鎵ц榪囩殑鎿嶄綔娌℃湁璁板繂錛岃皟鐢ㄤ粈涔堜篃涓嶅仛銆?br />SV_SIGNAL鍙敜閱掍竴涓繘紼嬨傚鏋滆鍞ら啋鍦ㄤ簨浠朵笂鐫$湢鐨勬墍鏈夎繘紼嬶紝鍙互鐢ㄥ悓姝ュ彉閲忕殑涓嬪垪鍑芥暟鏉ュ疄鐜幫細
void SV_BROADCAST( sv_t *svp, int flags);

濡傛灉鍦ㄤ簨浠惰瑙﹀彂涔嬪墠鍑虹幇浜嗕竴涓猆NIX淇″彿錛岄偅涔堜笅闈㈢殑SV_WAIT鍙樺艦浼氬敜閱掕繘紼嬶細
bool_t SV_WAIT_SIG( sv_t *svp, int pri, lock_t *lkp );
榪斿洖鐨勪唬鐮佽〃鏄庡彂鐢熶簡浠涔堟牱鐨勪簨浠訛細濡傛灉鍑虹幇浜嗕竴涓猆NIX淇″彿錛岄偅涔堝畠榪斿洖FALSE,濡傛灉鍑虹幇浜哠V_SIGNAL鎴朣V_BROADCAST,閭d箞瀹冭繑鍥濼RUE.

3.閲囩敤淇″彿閲忕殑鍚屾
灝嗕俊鍙烽噺鐨勫煎垵濮嬪寲涓?,灝卞彲浠ョ敤浜庤繘紼嬪悓姝ワ紝榪欐牱鍏佽閫氳繃浣跨敤P鎿嶄綔璁╀竴涓繘紼嬬瓑寰呮煇涓簨浠跺彂鐢熴傛棦鐒朵俊鍙烽噺琚垵濮嬪寲涓?錛岄偅涔堣繘紼嬪皢绔嬪嵆闃誨銆?br />鍙︿竴涓繘紼嬩嬌鐢╒鎿嶄綔鑳藉鍙戝嚭淇″彿錛岃〃鏄庝簨浠跺凡緇忕粨鏉熴俈鎿嶄綔瀵艱嚧姝g瓑寰呬簨浠剁殑榪涚▼琚敜閱掞紝騫剁戶緇繘琛屻傚洜涓哄嵆浣垮湪淇″彿閲忎笂娌℃湁闃誨榪涚▼錛?br />V鎿嶄綔涔熶細緇欎俊鍙烽噺鍔?錛屾墍浠ュ湪鍓嶄竴涓繘紼嬭兘澶熸墽琛孭鎿嶄綔涔嬪墠鍑哄彂浜嬩歡浼氬鑷磋繘紼嬬戶緇繘琛岋紝涓嶅繀絳夊緟銆傝繖鏄竴縐嶅彈嬈㈣繋鐨勬儏褰紝鍥犱負瀹冧笉闇瑕侀澶栫殑
鍗忚皟宸ヤ綔錛屽氨鑳藉澶勭悊鍦ㄧ瓑鍊欎簨浠剁殑榪涚▼鍚屽彂淇″彿琛ㄦ槑璇ヤ簨浠跺畬鎴愮殑榪涚▼涔嬮棿鏈潵灝辨湁鐨勭珵浜夋潯浠躲?br />
榪涚▼1                                        榪涚▼2
p(s)       /*絳夊緟浜嬩歡*/                    .
                                                  .
                                                  .
                                                V(s) /*瑙﹀彂浜嬩歡*/


4.鍒╃敤綆$▼榪涜鍚屾
綆$▼涓轟復鐣岃祫婧愪互鍙婅闂垨鑰呬慨鏀硅璧勬簮鐨勬墍鏈変復鐣屾鎻愪緵浜嗕簰鏂ユ満鍒訛紝瀹冭繕鎻愪緵浜嗗湪浣跨敤綆$▼鐨勮榪涚▼涔嬮棿榪涜鍚屾鐨勬墜孌點備竴涓紼嬪彲浠ユ兂鎴愭槸涓涓鏈?br />璧勬簮鐨勯殧闂淬傝繘紼嬭璁塊棶璧勬簮錛屽畠蹇呴』棣栧厛榪涘叆闅旈棿銆傞氳繃涓嬈″彧鍏佽涓涓繘紼嬭繘鍏ラ殧闂達紝灝卞仛鍒頒簡浜掓枼銆傚鏋滃湪綆$▼宸茬粡鎶曞叆浣跨敤鐨勬椂鍊欙紝鍒殑榪涚▼璇曞浘榪?br />鍏ュ畠錛岄偅灝變細琚樆濉烇紝鐩村埌浣跨敤綆$▼鐨勮繘紼嬮鍑虹紼嬩負姝紝鎴栬呭湪涓庣紼嬪叧鑱旂殑浜嬩歡涓婄瓑寰呫傛瘡涓紼嬮兘鍙兘鏈変竴涓垨鑰呮洿澶氱殑浜嬩歡錛岃嫢騫茶繘紼嬭兘澶熷湪榪欎簺浜?br />浠朵笂絳夊緟銆傝繘紼嬭闃誨榪欎簺浜嬩歡涓婏紝鐩村埌鍦ㄧ紼嬪唴鎵ц鐨勫叾浠栬繘紼嬭Е鍙戜簨浠朵負姝€傛牴鎹畾涔夛紝瑙﹀彂鎿嶄綔鍙兘浠庣紼嬪唴閮ㄥ畬鎴愩?br />

5.鍒╃敤浜嬩歡璁℃暟榪涜鍚屾
浜嬩歡璁℃暟鏄竴涓潪閫掑噺鐨勬鏁存暟錛屽湪榪欎釜鏁板間笂瀹氫箟浜?縐嶆搷浣溿傛搷浣渁dvance(E)灝嗕簨浠惰鏁癊鍔?,榪欏彨鍋氬嚭鍙戜簨浠躲?br />鎿嶄綔await(E,V)鑷翠嬌璋冪敤榪涚▼琚樆濉烇紝鎸囧浜嬩歡璁℃暟E鐨勫艱揪鍒癡涓烘銆傚鏋滃湪璋冪敤await鐨勬椂鍊欙紝浜嬩歡璁℃暟鐨勫煎ぇ浜庢垨絳変簬V錛岄偅涔堣繘紼嬬戶緇墽琛岋紝鑰屼笉浼氶樆濉烇紝
鍥犱負浜嬩歡鏄互鍓嶈Е鍙戠殑銆備簨浠惰鏁扮殑褰撳墠鍊煎彲浠ョ敤read(E)鏉ヨ鍙栥傚湪鍒涘緩浜嬩歡璁℃暟鐨勬椂鍊欙紝瀹冭鍒濆鍖栦負0錛岃屼笖鍦ㄦ暟鍊間笂姘歌繙涓嶄細鍑忓皯銆傚亣瀹氫繚瀛樹簨浠惰鏁板?br />寰楀瓨鍌ㄥ櫒浣嶇疆瓚沖澶э紝浜庢槸浜嬩歡璁℃暟鍦ㄥ叾鏁翠釜鐢熷懡鏈熶腑錛屼竴鐩撮兘涓嶄細婧㈠嚭錛堥氬父涓涓?2浣嶇殑鏃犵鍙鋒暣鏁板氨澶熶簡錛夈?br />
鏈夊叧浠g爜紺轟緥錛岃鍙傝鍚庨潰鐨勯殢絎斻?img src ="http://www.shnenglu.com/martin/aggbug/201174.html" width = "1" height = "1" />

]]>
MP鎿嶄綔緋葷粺鍐呮牳涓嚜鏃嬮攣(spinlock)鐨勫疄鐜?/title><link>http://www.shnenglu.com/martin/archive/2013/06/08/200878.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Sat, 08 Jun 2013 09:04:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2013/06/08/200878.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/200878.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2013/06/08/200878.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/200878.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/200878.html</trackback:ping><description><![CDATA[鍦ㄥCPU緋葷粺錛屽嵆MP緋葷粺涓紝瀛樺湪鎬葷嚎浠茶銆?br /><br />1. 鍘熷瓙鎿嶄綔<br />浠嶤PU鎴栬匢/O璁懼鍒頒富瀛樺偍鍣ㄧ殑鍗曟璇繪垨鑰呭啓鎿嶄綔涓哄師瀛愭搷浣溿?br />榪欐牱鐨勬搷浣滀竴鏃﹀紑濮嬶紝灝變笉鑳借緋葷粺涓婃潵鑷狢PU鎴栬匢/O璁懼鐨勪換浣曞叾浠栧瓨鍌ㄦ搷浣滄墍涓柇錛屾垨鑰呭彈鍒頒粬浠殑騫叉壈銆?br /><br />鍘熷瓙鍙橀噺<br /><br />2. 鑷棆閿?錛堣嚜鏃嬮攣鐢ㄤ簬鐭湡浜掓枼錛?br />鑷棆閿佸緱鍚嶄簬榪欐牱涓涓簨瀹烇紝涓涓繘紼嬪湪絳夊欏彟涓涓繘紼嬫鍦ㄤ嬌鐢ㄧ殑閿佹椂浼氬浜庡繖絳夊緟錛坆usy-wait,鍦ㄤ竴涓驚鐜腑鑷棆錛夌姸鎬併?br />typedef int lock_t;<br />void initlock( volatile lock_t * lock_status)<br />{<br />   *lock_status = 0;<br />}<br /><br />int<br />test_and_set(volatile int *addr)<br />{<br />     int old_value;<br />     old_value = swap_atomic(addr, 1);<br />     if (old_value == 0)<br />          return 0;<br />     return 1;<br />} <br /><br />void lock(volatile lock_t *lock_status)<br />{<br />    while (test_and_set( lock_status) == 1)            //琚攣瀹氭椂錛岃繘紼嬪湪姝よ嚜鏃嬨?br />       ;<br /> }<br />// test_and_set 濡傛灉鍓嶉潰鐨勭姸鎬佷笉涓?灝辮繑鍥?錛屽惁鍒欒繑鍥?. <br />//濡傛灉閿佺殑鐘舵佸凡緇忔槸1錛堥攣宸茬粡琚崰鐢級錛岄偅涔坱est_and_set鍑芥暟榪斿洖1錛屽茍涓斿鐞嗗櫒鍦ㄥ驚鐜腑鑷棆錛岀洿鍒拌閿佽閲婃斁涓烘銆傚彧瑕佹妸閿佺殑鐘舵佽緗負0錛屽氨鍙互閲婃斁閿佷簡銆?br /><br />void <br />unlock(volatile lock_t * lock_status)<br />{<br />   *lock_status =0;<br />}<br /><br />鍑忓皯瀵歸攣鐨勪簤鐢ㄥ彲浠ラ噰鐢ㄤ袱縐嶅姙娉曪細<br />絎竴銆佸唴鏍擱拡瀵逛笉鍚岀殑涓寸晫璧勬簮浣跨敤涓嶅悓鐨勮嚜鏃嬮攣錛岄槻姝㈠鐞嗗櫒鍦ㄦ病鏈夌珵浜夋潯浠跺▉鑳佺殑鏃跺欒鍙︿竴涓鐞嗗櫒鎸傝搗銆?br />絎簩銆佸寮簂ock鍜寀nlock鍑芥暟錛屽湪涓婇攣鐨勬椂鍊欏睆钄戒腑鏂?img src ="http://www.shnenglu.com/martin/aggbug/200878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2013-06-08 17:04 <a href="http://www.shnenglu.com/martin/archive/2013/06/08/200878.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>濡備綍閬垮厤鍦ㄥ簲鐢ㄤ腑鍙兘鍑虹幇鐨勬閿?/title><link>http://www.shnenglu.com/martin/archive/2013/06/08/200875.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Sat, 08 Jun 2013 06:54:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2013/06/08/200875.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/200875.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2013/06/08/200875.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/200875.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/200875.html</trackback:ping><description><![CDATA[鍦ㄥ鉤鏃剁殑搴旂敤璁捐涓紝鐢變簬鍑虹幇澶氱嚎紼嬶紙榪涚▼錛夌殑騫跺彂搴旂敤錛屼互鍙婂垎甯冨紡搴旂敤錛屾瘮杈冨鏄撳嚭鐜版閿佺幇璞°?br /><br />涓嬮潰鏉ョ湅涓涓畝鍗曠殑瀹炰緥錛?br />鏈変袱涓嫭绔嬬殑閾捐〃錛屽亣瀹氫嬌鐢ㄤ袱涓嫭绔嬬殑閿佹潵淇濇姢浠栦滑錛屼互渚胯兘澶熺嫭绔嬬殑璁塊棶銆傚啀鍋囧畾鏌愪釜鎿嶄綔瑕佹眰閬嶅巻涓涓垪琛ㄦ墍媯绱㈠埌鐨勫厓绱犲繀欏諱粠涓や釜鍒楄〃涓柇寮榪炴帴錛?br />鑰屼笖蹇呴』浠ヤ竴嬈?span style="color: red;">鍘熷瓙鎿嶄綔</span>鏉ュ畬鎴愩?br /><br />綰跨▼1                                                   |           綰跨▼2<br />lock(&lock_a);                                      |        lock(&lock_b);<br />find element to unlink on list a               |        find element to unlink on list b<br />lock(&lock_b);                                      |        lock(&lock_a);<br />unlink element from both lists                |        unlink element from both lists<br />unlock(&lock_b);                                   |        unlock(&lock_a);<br />unlock(&lock_a);                                   |        unlock(&lock_b);<br /><br />鍙兘鍑虹幇姝婚攣鐨勬儏鍐點?br />榪欒姹傚湪娑堥櫎涓涓厓绱犳槸蹇呴』鍚屾椂鎷ユ湁涓や釜鍒楄〃鐨勯攣銆傚絎竴涓嚎紼嬭鍏堟垨寰楅攣lock_a, 鐒跺悗瑕佹垨寰楅攣lock_b.<br />絎?涓嚎紼嬫濂界浉鍙嶏紝瀹冨厛鎴栧緱閿乴ock_b,鐒跺悗鍐嶈幏鍙栭攣lock_a.<br />濡傛灉鏌愪竴鏃跺埢錛岀涓涓嚎紼嬫墽琛屽埌浜?find element to unlink on list a, 鑰岀浜屼釜綰跨▼姝ゆ椂鎵ц鍒頒簡find element to unlink on list b, 鍒欒繖涓や釜綰跨▼灝嗗彂鐢熸閿併?br />榪欑姝婚攣縐頒負AB-BA姝婚攣銆?nbsp;  錛堟敞錛屾閿佺殑鍙戠敓鏄窡涓や釜綰跨▼鐨勬墽琛屾椂搴忕浉鍏崇殑錛屼緥濡傦紝絎竴涓嚎紼嬫墽琛屽畬浜嗘墍鏈夌殑榪欓儴鍒嗕唬鐮侊紝綰跨▼2鎵嶅紑濮嬫墽琛屾孌典唬鐮侊紝鍒欎笉浼氬彂鐢熸閿併傦級<br /><br />濡傛灉鏌愪釜閿佷笉鏄掑綊閿侊紝渚嬪lock_a, 鑰岀嚎紼?鍦ㄥ簲鐢ㄤ腑瀵瑰畠榪涜澶氫釜璋冪敤錛岃屾病鏈夎皟鐢ㄨВ閿佹搷浣滐紝涔熶細鍙戠敓姝婚攣銆?br />浠g爜紺轟緥濡備笅錛?br />lock(&lock_a);<br />other logic code<br />lock(&lock_a);<br />other logic code<br />unlock(&lock_a);<br />unlock(&lock_a);<br /><br /><span style="color: #0000ff;">闃叉姝婚攣鐨勫姙娉?</span> 涓轟簡闃叉鍙戠敓榪欑被姝婚攣錛屾墍鏈夌嚎紼嬪繀欏諱互鐩稿悓鐨勬搴忚幏寰楀祵濂楅攣錛屽嵆浠ョ浉鍚岀殑嬈″簭鑾峰緱涓斿悓鏃跺崰鏈夐攣銆?br />鍙互鎶婁笂闈㈢殑浠g爜鏀規垚濡備笅浠g爜鏉ラ伩鍏嶆閿侊細<br />lock(&lock_a);<br />lock(&lock_b);<br />find element to unlink on list a or b<br />unlink element from both lists<br />unlock(&lock_b);<br />unlock(&lock_a);<br /><br />褰撴秹鍙婂埌3涓垨鑰呮洿澶氶攣鐨勬椂鍊欎篃鏄姝わ細鍙鍚勭嚎紼嬪湪鑾峰緱鍜岄噴鏀鵑攣鐨勬椂鍊欎繚鎸佺浉鍚岀殑嬈″簭錛岄偅涔堝氨涓嶄細鍑虹幇姝婚攣銆?br /><img src ="http://www.shnenglu.com/martin/aggbug/200875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2013-06-08 14:54 <a href="http://www.shnenglu.com/martin/archive/2013/06/08/200875.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>搴旂敤鐨勬墿灞?/title><link>http://www.shnenglu.com/martin/archive/2009/03/20/martin_21.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Fri, 20 Mar 2009 03:41:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2009/03/20/martin_21.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/77288.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2009/03/20/martin_21.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/77288.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/77288.html</trackback:ping><description><![CDATA[瀹炰綋錛堣璦鍐呭緩鐨勬暟鎹被鍨嬶紝寮鍙戣呭畾涔夌殑綾誨拰鏂規硶絳夛級鐨勫畾涔変笌澹版槑錛屽疄浣撳拰鎸囬拡璺熺▼搴忚璁″甫鏉ヤ簡涓嶅悓褰卞搷錛?br>瀵逛簬瀹炰綋鎴栧畾涔夛紝緙栬瘧鍣ㄨ鐭ラ亾瀹炰綋鐪熷疄鐨勭墿鐞嗗唴瀛樺竷灞錛屽洜姝よ緙栬瘧鍣ㄧ煡閬撹繖浜涗俊鎭紝騫朵笖鍦ㄧ▼搴忕紪璇戝畬姣曞悗涓嶈兘鏇存敼錛庤鎯蟲洿鏀瑰繀欏婚噸鏂扮紪璇戠▼搴忥紟鍥犳濡傛灉鍦ㄧ郴緇熻璁¤呯▼搴忓簱涓繍鐢ㄤ簡inline鍑芥暟錛屽茍涓斿鏋滃簲鐢ㄥ紑鍙戣呭湪搴旂敤涓敤浜嗚繖涓猧nline鍑芥暟錛屽垯褰撳悗鏉ヨ瀵筰nline榪涜淇敼鏃訛紝鏈夊彲鑳借瀵艱嚧搴旂敤琚噸鏂扮紪璇戯紟<br>瀵逛簬鎸囬拡錛屽畠鐨勫ぇ灝忓湪鐗瑰畾鐨勬満鍣ㄤ笂鏄浐瀹氱殑錛堝湪32浣嶆満鍣ㄤ笂錛屽畠鐨勫ぇ灝忔槸32浣嶏紱鍦?4浣嶆満鍣ㄤ笂錛屽畠鐨勫ぇ灝忔槸64浣嶏級錛庡洜姝ゅ彲浠ユ敼鍙樺畠鐨勫鹼紝鑰屼笉闇瑕侀噸鏂扮紪璇戝簲鐢紝灝卞彲浠ユ敼鍙樺簲鐢ㄧ殑鍔熻兘錛?br><br>鍦ㄩ潰鍚戝璞′腑錛屽彲浠ラ氳繃铏氬嚱鏁版寚閽堟潵寤惰繜鐗瑰畾鍑芥暟鐨勫喅絳栵紝鍗寵皟鐢ㄥ瓙綾葷殑鍑芥暟錛?br>鍦–璇█涓紝鎴戜滑鍙互閫氳繃鍑芥暟鎸囬拡鏉ュ鍑芥暟鐨勫姛鑳借繘琛屾帹榪熷喅絳栵紟<br>鍦–++涓紝鎴戜滑涔熷彲浠ラ氳繃鍑芥暟鎸囬拡錛堝嚱鏁板璞★級銆佸璞℃寚閽堟潵鎺ㄨ繜鍐崇瓥錛屼粠鑰屼嬌紼嬪簭鐨勫姛鑳芥洿鏈夊脊鎬с備緥濡傦紝鍦ㄨ璁℃ā寮忎腑鐨剆trategy妯″紡涓紝灝辨槸閫氳繃鍦╟ontex涓寘鍚竴涓寚鍚憇trategy鐨勬寚閽堟潵瀹炵幇鐨勩傛垜浠彲浠ュ畾涔変竴涓娊璞$殑strategy鎺ュ彛錛岀劧鍚庣敱鍚勪釜鍏蜂綋鐨剆trategy瀹炵幇榪欎簺鎺ュ彛錛屼粠鑰屽湪淇濊瘉搴旂敤鏋舵瀯鍑犱箮涓嶅仛浠諱綍璋冩暣涓嬶紝瀹炵幇涓嶅悓鐨勫姛鑳姐傚綋鐒跺湪榪欑瀹炵幇鏂瑰紡涓紝鎴戜滑搴旇鍔犲叆strategy鐨勫喅璁咃紝鐢卞畠鏉ヨ鍐抽噰鐢ㄥ摢涓縐嶇瓥鐣ユ柟寮忋傚喅璁呭彲浠ラ噰鐢ㄩ厤緗枃浠躲佸簲鐢ㄧ殑杈撳叆絳変綔涓哄喅璁殑渚濇嵁銆?br><br>鐔熸倝symbian鐨勪漢錛屽緢蹇氨浼氬彂鐜幫細瀹冧笌symbian涓殑ECOM鏋舵瀯寰堢浉浼箋傚畠瑕佹眰鍚勭strategy鐨勫疄鐜版柟寮忚鍖呭惈鍦ㄥ叡浜殑DLL涓紝騫剁敱RLibrary::Loard()璋冪敤鍔ㄦ佽澆鍏?<br>浣跨敤瀹氫箟鎶借薄鎺ュ彛錛岀劧鍚庡湪鍚凞LL涓畾涔夊叿浣撶殑瀹炵幇錛屽茍涓斿姩鎬佽澆鍏ワ紝鎴戜滑鍙互姣旇緝瀹規槗鍦板疄鐜版墍璋撶殑鎻掍歡(plugin)銆傛彃浠剁殑杞藉叆鍙栧喅浜庨厤緗紝鎴栫浉搴旂殑杈撳叆媯嫻嬨?br><br>涓嬮潰緇欏嚭鍦╨inux鍜寃indows涓婁粠鍔ㄦ佸簱涓煡鎵懼拰杞藉叆鐨勪緥瀛?<br>#ifdef WIN32<br>        HINSTANCE hDll;<br>        if(!(hDll = LoadLibrary(VOCALSIP_DLLPATH))) <br>        adapter.m_initFunc = (INIT_PROTOSTACK_FUNC)GetProcAddress( hDll, "InitVocalSipStack");<br>        adapter.m_createFunc = (CREATE_CHANNEL_FUNC)GetProcAddress( hDll, "CreateVocalSipGCChannel");<br>        adapter.m_cleanupFunc = (CLEANUP_PROTOSTACK_FUNC)GetProcAddress( hDll, "CleanupVocalSipStack");<br>#else<br>        void* h_dl = dlopen(VOCALSIP_DLLPATH,RTLD_NOW | RTLD_GLOBAL);<br>        adapter.m_initFunc = (INIT_PROTOSTACK_FUNC)dlsym( h_dl, "InitVocalSipStack");<br>        adapter.m_createFunc = (CREATE_CHANNEL_FUNC)dlsym( h_dl, "CreateVocalSipGCChannel");<br>        adapter.m_cleanupFunc = (CLEANUP_PROTOSTACK_FUNC)dlsym( h_dl, "CleanupVocalSipStack");<br>#endif<br><br> <img src ="http://www.shnenglu.com/martin/aggbug/77288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-20 11:41 <a href="http://www.shnenglu.com/martin/archive/2009/03/20/martin_21.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>mutex涓巗emaphore鐨勫尯鍒?/title><link>http://www.shnenglu.com/martin/archive/2009/03/18/hello.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Wed, 18 Mar 2009 07:37:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2009/03/18/hello.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/77016.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2009/03/18/hello.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/77016.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/77016.html</trackback:ping><description><![CDATA[錛備簰鏂?mutext)鍜屾棗璇?semaphore)涔嬮棿鏈変粈涔堜笉鍚岋紵錛傝繖鏍風殑闂綆鐭屾湁鍔涳紝浣嗚鍥炵瓟鍗寸浉褰撳洶闅撅紟鍗充嬌鏈夌粡楠岀殑瀹炴椂鎿嶄綔緋葷粺(RTOS)鐢ㄦ埛鍦ㄥ尯鍒浣曟紜嬌鐢╩utex鍜宻emaphore鏃朵篃瀛樺湪鐫鍥伴毦錛?br>浣嗚繖涓鐐瑰緢涓嶅垢鑰屼笖寰堝嵄闄╋紝鍥犱負鏃犱換榪欎袱縐嶅師鐢烺TOS涓殑鍝竴縐嶈閿欒浣跨敤錛岄兘浼氬鑷村祵鍏ュ紡緋葷粺鍑虹幇鎰忔兂涓嶅埌鐨勯敊璇紝鐗瑰埆鏄繖浜涚郴緇熶負鏈夊叧鐢熷懡瀹夊叏鐨勪駭鍝佹椂.<br>鏈夊叧mutex鍜宻emaphore鐨勮崚璇炶娉曟槸瀹冧滑鏄浉浼肩殑錛岀敋鑷蟲槸鍙互浜掓崲鐨勶紟姝g‘鐨勪簨瀹炴槸灝界mutex鍜宻emaphore鍦ㄥ畠浠殑鎵ц涓婃湁鐩鎬技涔嬪錛屼絾鏄垜浠繕鏄簲璇ュ湪浣跨敤瀹冧滑鏃跺姞浠ュ尯鍒寰咃紟<br>鏈鏅亶錛堜絾涔熸槸涓嶆紜級鐨勭瓟妗堟槸錛歮utex鍜宻emphore闈炲父鐩鎬技錛屽畠浠彧鏈変竴涓尯鍒紝閭e氨鏄痵emaphores鐨勮鏁板彲浠ヨ秴榪?. 宸笉澶氭墍鏈夌殑宸ョ▼甯堥兘鑳芥紜殑鐞嗚В錛歮utex鏄竴涓簩榪涘埗鏍囧織錛屽彲浠ラ氳繃瀹冩潵紜繚鎵ц嫻佸湪浠g爜鍏抽敭鍖?critical section of code)浜掔浉鎺掓枼,浠庤屽鍏變韓璧勬簮鍔犱竴淇濇姢錛庝絾褰撲粬浠瑕佹眰榪涗竴姝ュ洖絳斿浣曚嬌鐢紓璁$畻鏂規硶semaphore"鐨勬柟寮忔椂錛屽ぇ閮ㄥ垎宸ョ▼甯堢殑鍥炵瓟灝卞鍚屾暀縐戜功涔︿竴鑸殑鍒繪澘---semaphore鐢ㄤ簬淇濇姢澶氶噸鍚岀被璧勬簮錛?br>閫氳繃綾繪瘮鍔炴硶錛屾垜浠緢瀹規槗瑙i噴涓轟粈涔?澶氶噸璧勬簮錛傚満鏅槸鏈夌己闄風殑.濡傛灉浣犺涓轟竴涓猰utex鏄敱鎿嶄綔緋葷粺鎷ユ湁鐨勫叧閿肩殑璇濓紝鎴戜滑鍙互寰堝鏄撳湴灝嗕釜鍒殑mutex姣斿柣鏄煄甯傚挅鍟″簵涓竴闂存蕩瀹ょ殑閽ュ寵錛庡鏋滀綘鎯充嬌鐢ㄦ蕩瀹わ紝鍗存壘涓嶅埌閽ュ寵錛屼綘灝卞繀欏誨湪涓涓槦鍒椾腑絳夊欙紟鍚屾牱鍦幫紝mutex鍒欏崗涓茶鍖栧欏逛換鍔★紝浠ュ彇寰楀叏鍩熻祫婧愮殑鍏變韓錛屽茍涓斾負絳夊緟闃熷垪涓殑浠誨姟鍒嗛厤涓涓潤鍊欏叾寰簭娓愯繘鐨勪綅緗紟<br>浣嗚繖縐嶇畝鍗曠殑璧勬簮淇濇姢鍗忚騫朵笉浣跨敤浜庝袱闂寸浉鍚屾蕩瀹ょ殑鎯呭喌錛庡鏋滄妸涓涓猻emaphore姒傛嫭涓轟竴涓猰utex錛屼嬌鍏惰兘淇濇姢涓や釜鎴栨洿澶氱浉鍚岀殑璧勬簮錛岄偅涔堝湪鎴戜滑鐨勬瘮鍠諱腑錛屽畠灝辮薄鏄斁鐫涓ゆ妸鐩稿悓閽ュ寵鐨勮摑瀛愶紝浣犲彲浠ョ敤浠諱綍涓鎶婃墦寮浠諱綍涓鎵囨蕩瀹ょ殑闂紟<br>鍥犳錛宻emaphore鏈韓騫朵笉鑳借В鍐沖涓浉鍚岃祫婧愮殑闂錛庡挅鍟″簵涓殑瀹漢鍙兘鍙煡閬撴湁涓鎶婇挜鍖欙紝浣嗗茍涓嶇煡閬撳摢闂存蕩瀹ゅ彲鐢紟濡傛灉浣犺瘯鍥句互姝ゆ柟寮忎嬌鐢╯emaphore錛屼綘灝嗕細鍙戠幇闇瑕佹洿澶氱殑鐘舵佷俊鎭?--瀹冧滑閫氬父鏄敱涓嶅悓鐨刴utex鎵淇濇姢鐨勫叡浜祫婧愶紟<br>姝g‘浣跨敤semaphore鏄負浜嗕嬌淇″彿浠庝竴欏逛換鍔′紶鑷沖彟涓欏逛換鍔★紟mutex鎰忓懗鐫鍙栧緱涓庨噴鏀撅紝浣跨敤鍙椾繚鎶ゅ叡浜祫婧愮殑姣忎竴嬈′換鍔¢兘鏄互榪欐牱鐨勯『搴忚繘琛岋紟鐩告瘮涔嬩笅錛屼嬌鐢╯emaphore鐨勪換鍔¢氬父涓嶆槸鍙戦佷俊鍙鳳紝灝辨槸榪涘叆絳夊緟鐘舵侊紝涓嶅彲鑳藉悓鏃跺彂鐢燂紟<br>渚嬪錛屼換鍔?鍙兘鍖呭惈紼嬪簭浠g爜錛屽綋鎸変笅錛傜數婧愶紓(power)鎸夐挳鏃訛紝鍗沖彲鎻愬嚭(濡傚彂閫佷俊鍙鋒垨澧為噺)涓涓壒鍒殑semaphore; 浠誨姟2鍒欎緷鎹浉鍚岀殑semaphore鑰岀敤浜庡敜閱掓樉紺哄櫒. 鍦ㄨ繖縐嶆儏鍐典笅錛屽叾涓竴欏逛換鍔℃槸淇″彿鐨勭敓浜ц咃紝鍙︿竴欏逛換鍔℃槸淇″彿鐨勬秷璐硅咃紟<br><br>鐢ㄤ竴涓緥瀛愭潵鍋氭葷粨錛岄鍏堝睍紺哄浣曚嬌鐢╩utex錛?br><font face=Courier size=2><strong>/* Task 1 */<br>mutexWait(mutex_mens_room);<br>// Safely use shared resource<br>mutexRelease(mutex_mens_room);<br><br>/* Task 2 */<br>mutexWait(mutex_mens_room);<br>// Safely use shared resource<br>mutexRelease(mutex_mens_room);<br><br>鐩稿簲鍦幫紝浣犳繪槸閲囩敤涓嬪垪鏂規硶浣跨敤semaphore:<br>/* Task 1 - Producer */<br>semPost(sem_power_btn); // Send the signal<br><br>/* Task 2 - Consumer */<br>semPend(sem_power_btn); // Wait for signal<br><br></strong>閲嶈鐨勬槸錛宻emaphores鍙互琚玦nterrupt service routine(ISR)涓柇鏈嶅姟紼嬪簭鐢ㄦ潵鍚憈ask鍙戦佷俊鍙鳳紟鍙戦佷竴涓猻emaphore鏄竴涓潪闃誨鐨凴TOS琛屼負錛屽茍涓擨SR瀹夊叏錛庡洜涓鴻繖縐嶆妧鏈帓闄や簡鍦╰ask綰у埆鐨勪負浜嗘槸涓柇涓嶄嬌鑳借屽紩璧風殑閿欒鐨勫彲鑳芥э紝浠嶪SR涓彂鍑轟俊鍙鋒槸涓縐嶄嬌宓屽叆寮忚蔣浠舵洿鍔犲彲闈犵殑璁捐鏂瑰紡.<br><br><a >http://www.embedded.com/columns/guest/210605040?printable=true</a><br><a >http://www.eettaiwan.com/ART_8800557420_676964_NT_a22f6436.HTM</a><br><br></font> <img src ="http://www.shnenglu.com/martin/aggbug/77016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-18 15:37 <a href="http://www.shnenglu.com/martin/archive/2009/03/18/hello.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>搴旂敤緋葷粺涓殑瀹氭椂鍣ㄨ璁?/title><link>http://www.shnenglu.com/martin/archive/2009/03/17/martin_2.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Tue, 17 Mar 2009 09:34:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2009/03/17/martin_2.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/76878.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2009/03/17/martin_2.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/76878.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/76878.html</trackback:ping><description><![CDATA[     鎽樿: 鍓嶄竴孌墊椂闂達紝璇籹ymbian鏂囨。璧勬枡錛屽拰Darwin,ICE絳夊紑婧愪唬鐮侊紝緇忓父紕板埌瀹氭椂鍣ㄥ拰瀹氭椂鍣ㄤ簨浠訛紟鏁呭瀹氭椂鍣ㄧ殑瀹炵幇榪涜浜嗕竴浜涙暣鐞嗭紝浣滀負璇諱功絎旇錛屼互闃蹭互鍚庡繕璁幫紟  <a href='http://www.shnenglu.com/martin/archive/2009/03/17/martin_2.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/martin/aggbug/76878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-17 17:34 <a href="http://www.shnenglu.com/martin/archive/2009/03/17/martin_2.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>綰跨▼闂存暟鎹紶閫?/title><link>http://www.shnenglu.com/martin/archive/2009/03/11/martin_1.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Wed, 11 Mar 2009 04:30:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2009/03/11/martin_1.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/76204.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2009/03/11/martin_1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/76204.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/76204.html</trackback:ping><description><![CDATA[  <p><span>鍦ㄤ互鍓嶇殑</span>multi-process<span>紼嬪簭涓?/span>,process<span>涔嬮棿閫氳繃鍏變韓鍐呭瓨銆佹搷浣滅郴緇熸彁渚涚殑娑堟伅瀵瑰垪錛屽懡鍚嶇閬撶瓑涓嶅悓鏂瑰紡榪涜鏁版嵁浼犻掋備負浜嗗噺灝戝唴瀛橈紝浠ュ強榪涚▼鍒囨崲鏃跺紩鍙戠殑涓婁笅鏂囧垏鎹㈢殑寮閿錛岀幇鍦ㄧ殑緋葷粺涓鑸噰鐢?/span>multi-thread <span>宸ヤ綔鏂瑰紡銆?/span></p> <p><span>鍚?/span>process<span>閮芥湁鍚勮嚜鐙珛鐨勫湴鍧絀洪棿錛屽茍涓旀槸涓撴湁鐨勶紝鍥犳涓涓?/span>process<span>涓嶈兘閫氳繃鎸囬拡璁塊棶鍙︿竴涓?/span>process<span>涓殑鍦板潃絀洪棿銆傝屽睘浜庡悓涓</span>process<span>鐨勫悇</span>thread<span>錛屽畠浠叡浜悓涓</span>process<span>鐨勫湴鍧絀洪棿錛屽洜姝や竴涓?/span>thread<span>鍙互閫氳繃鎸囬拡璁塊棶鍙︿竴涓?/span>thread<span>涓殑鍦板潃銆傝繖鏍鋒垜浠彲浠ュ湪搴旂敤涓嚜宸卞畾涔夋秷鎭槦鍒楋紝騫跺娑堟伅闃熷垪鐨勮闂繘琛岀鐞嗭紝綆鍖栫▼搴忓茍鎻愰珮鎬ц兘銆?/span></p> <p> </p> <p><span>鍦?/span>multi-thread<span>搴旂敤涓紝鎴戜滑鍙互浣跨敤娑堟伅瀵瑰垪鏉ュ湪涓嶅悓</span>thread<span>涔嬮棿榪涜娑堟伅浼犻掞紝騫墮檷浣庡悇</span>thread<span>涔嬮棿鐨勮棔鍚堛?/span></p> <p><span>瀹冧滑涔嬮棿鐨勫叧緋誨涓嬶細</span></p> <p><span>鐢熶駭鑰咃細鍚戞秷鎭槦鍒椾腑鏀炬暟鎹殑綰跨▼銆?/span></p> <p><span>娑堣垂鑰咃細浠庢秷鎭槦鍒椾腑鍙栧嚭鏁版嵁鐨勭嚎紼嬨?/span></p> <p> <br> <span>鐢熶駭鑰?/span> ----> <span>娑堟伅闃熷垪</span> -----><span>娑堣垂鑰?/span></p> <p> </p> <p><span>濡傛灉搴旂敤瑙勫畾娑堟伅闃熷垪鐨勬渶澶ч暱搴︺傚湪瀵歸槦鍒楄繘琛屾帶鍒舵椂錛屽簲璇ュ綋娑堟伅闃熷垪婊℃椂錛屽彲鑳借璁╃敓浜ц呰繘琛岀瓑寰咃紝鐩村埌娑堟伅闃熷垪涓湁鏂扮殑浣嶇疆鍙互鏀懼叆鏂扮殑娑堟伅銆傚綋娑堟伅闃熷垪涓虹┖鏃訛紝搴旇璁╂秷璐硅呰繘琛岀瓑寰咃紝鐭ラ亾鏈夋柊鐨勬秷鎭鍔犲埌娑堟伅闃熷垪涓?/span></p> <p> </p> <p><span>鍦ㄨ妯″瀷涓湁涓ょ偣闇瑕佹敞鎰忥細</span></p> <p><span><span>1錛?/span></span><span>涓嶅悓鐢熶駭鑰咃紝娑堣垂鑰呭悓鏃跺茍鍙戞搷浣滄秷鎭槦鍒楁椂錛屽鍚勬搷浣滅殑涓茶鍖栥傝繖涓棶棰樺彲浠ラ氳繃瀵歸槦鍒楃殑鎿嶄綔榪涜鍔犻攣鏉ュ疄鐜般傚畠鐨勫疄鐜板彲浠ュ弬鑰冨彟涓綃囬殢絎斻?/span>C++<span>鍚屾閿佺鐞嗙殑涓縐嶆柟娉曘嬨?/span></p> <p><span><span>2錛?/span></span><span>鍦ㄦ秷鎭槦鍒椾負絀烘垨婊℃椂錛屽簲鐢ㄧ▼搴忕殑澶勭悊銆?/span></p> <p><span>榪欏彲浠ュ湪</span>C++<span>涓噰鐢?/span>Monitor.<span>鍦?/span>Monitor<span>涓鏌愮鏉′歡榪涜鐩戞帶銆?/span></p> <p>Monitor <span>瀵硅薄鍙互閲囧彇鐨勫姩浣滐細</span></p> <p>(1)<span>銆佺瓑寰呮搷浣?/span> wait(long timeout = INFINITE), <span>緙虹渷鎯呭喌涓嬫棤闄愮瓑寰呬笅鍘匯?/span></p> <p>(2)<span>銆佸彂淇″彿鎿嶄綔</span> signal(long count = 1), <span>緙虹渷鎯呭喌涓嬫縺媧諱竴涓鍦ㄦ秷鎭槦鍒椾笂榪涜絳変唬鐨勭嚎紼嬨?/span></p> <p> </p> <p><span>瀵逛簬</span>Monitor<span>鐨勫疄鐜幫紝鍙互寰堢畝鍗曞湴鐢ㄤ笅鍒椾袱縐嶆柟寮忓疄鐜幫細</span></p> <p><span><span>1銆?/span></span><span>閲囩敤</span>ACE<span>涓殑</span>ACE_Event, ACE_Thread_Semphore<span>瀹炵幇銆?/span></p> <p><span><span>2銆?/span></span><span>閲囩敤</span><span> </span>ICE<span>鐨?/span>Cond<span>瀹炵幇錛?/span><span> </span><span>鍦?/span>Linux<span>涓婏紝</span>Cond<span>瀹為檯涓婃槸閫氳繃</span>pthread_cond_t<span>鏉ュ疄鐜扮殑銆?/span></p> <p> </p> <img src ="http://www.shnenglu.com/martin/aggbug/76204.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-11 12:30 <a href="http://www.shnenglu.com/martin/archive/2009/03/11/martin_1.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏅鴻兘鎸囬拡鐨勪唬鐮佸疄渚?/title><link>http://www.shnenglu.com/martin/archive/2009/03/09/frank123.html</link><dc:creator>martin_yahoo</dc:creator><author>martin_yahoo</author><pubDate>Mon, 09 Mar 2009 08:07:00 GMT</pubDate><guid>http://www.shnenglu.com/martin/archive/2009/03/09/frank123.html</guid><wfw:comment>http://www.shnenglu.com/martin/comments/75988.html</wfw:comment><comments>http://www.shnenglu.com/martin/archive/2009/03/09/frank123.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.shnenglu.com/martin/comments/commentRss/75988.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/martin/services/trackbacks/75988.html</trackback:ping><description><![CDATA[<p>鍓嶆鏃墮棿錛屽啓浜嗕竴鐐瑰叧浜庢櫤鑳芥寚閽堢殑涓滆タ錛屾湁璇昏呭弽鏄犳病鏈変唬鐮佹瘮杈冮毦鎳傦紟鐜扮粰鍑烘簮鐮侊紝騫剁◢寰姞浠ヨВ閲?<br><br>鏅鴻兘鎸囬拡綾葷敤鍒扮殑鍩虹被鐨勫畾涔?<br>template<typename T><br>class HandleBase<br>{<br>public:</p> <p>    typedef T element_type;</p> <p>    T* get() const<br>    {<br>        return _ptr;<br>    }<br>   <br>   //閲嶈澆->鎿嶄綔絎︼紝榪斿洖鎵鎸囧璞$殑鎸囬拡.</p> <p>    T* operator->() const<br>    {<br>        if(!_ptr)<br>        {<br>            //<br>            // We don't throw directly NullHandleException here to<br>            // keep the code size of this method to a minimun (the<br>            // assembly code for throwing an exception is much bigger<br>            // than just a function call). This maximises the chances<br>            // of inlining by compiler optimization.<br>            //<br>            throwNullHandleException(__FILE__, __LINE__);<br>        }</p> <p>        return _ptr;<br>    }<br><br>//  閫氳繃鏅鴻兘鎸囬拡鑾峰彇鎵鎸囧璞$殑寮曠敤.</p> <p>    T& operator*() const<br>    {<br>        if(!_ptr)<br>        {<br>            //<br>            // We don't throw directly NullHandleException here to<br>            // keep the code size of this method to a minimun (the<br>            // assembly code for throwing an exception is much bigger<br>            // than just a function call). This maximises the chances<br>            // of inlining by compiler optimization.<br>            //<br>            throwNullHandleException(__FILE__, __LINE__);<br>        }</p> <p>        return *_ptr;<br>    }</p> <p>    operator bool() const<br>    {<br>        return _ptr ? true : false;<br>    }</p> <p>    void swap(HandleBase& other)<br>    {<br>        std::swap(_ptr, other._ptr);<br>    }</p> <p>    T* _ptr;</p> <p>private:</p> <p>    void throwNullHandleException(const char *, int) const;<br>};</p> <p>......</p> <p><br>// 鏅鴻兘鎸囬拡綾誨畾涔?/p> <p>template<typename T><br>class Handle : public HandleBase<T><br>{<br>public:</p> <p>    Handle(T* p = 0)               //鏅鴻兘鎸囬拡鐨勬瀯閫犲嚱鏁?br>    {<br>        this->_ptr = p;</p> <p>        if(this->_ptr)<br>        {<br>            this->_ptr->__incRef();         //鍦ㄦ瀯閫犲嚱鏁頒腑澧炲姞鎵鎸囧璞$殑寮曠敤璁℃暟<br>        }<br>    }</p> <p>    template<typename Y>                  //鎷瘋礉鏋勯犲嚱鏁?br>    Handle(const Handle<Y>& r)<br>    {<br>        this->_ptr = r._ptr;</p> <p>        if(this->_ptr)<br>        {<br>            this->_ptr->__incRef();   //鍦ㄦ瀯閫犲嚱鏁頒腑澧炲姞鎵鎸囧璞$殑寮曠敤璁℃暟<br>        }<br>    }</p> <p>    Handle(const Handle& r)         //鎷瘋礉鏋勯犲嚱鏁?br>    {<br>        this->_ptr = r._ptr;</p> <p>        if(this->_ptr)<br>        {<br>            this->_ptr->__incRef();    //鍦ㄦ瀯閫犲嚱鏁頒腑澧炲姞鎵鎸囧璞$殑寮曠敤璁℃暟<br>        }<br>    }</p> <p>    ~Handle()<br>    {<br>        if(this->_ptr)<br>        {<br>            this->_ptr->__decRef();      //鍦ㄦ瀽鏋勫嚱鏁頒腑鍑忓皯鎵鎸囧璞$殑寮曠敤璁℃暟<br>        }<br>    }<br><br>// 閲嶈澆=鎿嶄綔絎? 瑕佹敞鎰忔墍鏈夋潈 (鍗籌紝瀵瑰師瀹炰緥鐨勫鐞?.</p> <p>    Handle& operator=(T* p)         <br>    {<br>        if(this->_ptr != p)<br>        {<br>            if(p)<br>            {<br>                p->__incRef();      //澧炲姞鏂版寚瀵硅薄鐨勫紩鐢ㄨ鏁?br>            }</p> <p>            T* ptr = this->_ptr;<br>            this->_ptr = p;</p> <p>            if(ptr)<br>            {<br>                ptr->__decRef();   //鍑忓皯鍘熸潵鎵鎸囧璞$殑寮曠敤璁℃暟<br>            }<br>        }<br>        return *this;<br>    }</p> <p>    template<typename Y><br>    Handle& operator=(const Handle<Y>& r)<br>    {<br>        if(this->_ptr != r._ptr)<br>        {<br>            if(r._ptr)<br>            {<br>                r._ptr->__incRef();   //澧炲姞鏂版寚瀵硅薄鐨勫紩鐢ㄨ鏁?br>            }</p> <p>            T* ptr = this->_ptr;<br>            this->_ptr = r._ptr;</p> <p>            if(ptr)<br>            {<br>                ptr->__decRef();      //鍑忓皯鍘熸潵鎵鎸囧璞$殑寮曠敤璁℃暟<br>            }<br>        }<br>        return *this;<br>    }</p> <p>    Handle& operator=(const Handle& r)<br>    {<br>        if(this->_ptr != r._ptr)<br>        {<br>            if(r._ptr)<br>            {<br>                r._ptr->__incRef();            //澧炲姞鏂版寚瀵硅薄鐨勫紩鐢ㄨ鏁?br>            }</p> <p>            T* ptr = this->_ptr;<br>            this->_ptr = r._ptr;</p> <p>            if(ptr)<br>            {<br>                ptr->__decRef();            //鍑忓皯鍘熸潵鎵鎸囧璞$殑寮曠敤璁℃暟<br>            }<br>        }<br>        return *this;<br>    }</p> <p> 璺熸櫤鑳芥寚閽堥厤鍚堜嬌鐢ㄧ殑瀵硅薄錛庤鑳藉璺熸寚閽堟櫤鑳介厤鍚堜嬌鐢紝榪欎簺瀵硅薄搴旇鏄粠涓嬪垪綾葷殑媧劇敓綾葷殑瀹炰緥錛?br>class SimpleShared<br>{<br>public:</p> <p>    SimpleShared();<br>    SimpleShared(const SimpleShared&);</p> <p>    virtual ~SimpleShared()<br>    {<br>    }</p> <p>    SimpleShared& operator=(const SimpleShared&)<br>    {<br>        return *this;<br>    }</p> <p>    void __incRef()<br>    {<br>        assert(_ref >= 0);<br>        ++_ref;<br>    }</p> <p>    void __decRef()<br>    {<br>        assert(_ref > 0);<br>        if(--_ref == 0)               // 濡傛灉寮曠敤璁℃暟涓?,鍒欐懅姣佸璞℃湰韜紟<br>        {<br>            if(!_noDelete)<br>            {<br>                _noDelete = true;<br>                delete this;<br>            }<br>        }<br>    }</p> <p>    int __getRef() const<br>    {<br>        return _ref;<br>    }</p> <p>    void __setNoDelete(bool b)<br>    {<br>        _noDelete = b;<br>    }</p> <p>private:</p> <p>    int _ref;<br>    bool _noDelete;<br>};</p> <p>class Shared<br>{<br>public:</p> <p>    Shared();<br>    Shared(const Shared&);</p> <p>    virtual ~Shared()<br>    {<br>    }</p> <p>    Shared& operator=(const Shared&)<br>    {<br>        return *this;<br>    }</p> <p>    virtual void __incRef();<br>    virtual void __decRef();<br>    virtual int __getRef() const;<br>    virtual void __setNoDelete(bool);</p> <p>protected:</p> <p>#if defined(_WIN32)<br>    LONG _ref;<br>#elif defined(ICE_HAS_ATOMIC_FUNCTIONS)<br>    volatile int _ref;<br>#else<br>    int _ref;<br>    Mutex _mutex;<br>#endif<br>    bool _noDelete;<br>};<br><br></p> <img src ="http://www.shnenglu.com/martin/aggbug/75988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-09 16:07 <a href="http://www.shnenglu.com/martin/archive/2009/03/09/frank123.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://7115866.com" target="_blank">日韩亚洲视频</a>| <a href="http://118017.com" target="_blank">国内精品视频在线播放</a>| <a href="http://876769.com" target="_blank">亚洲精选一区</a>| <a href="http://zzmzit.com" target="_blank">亚洲国产影院</a>| <a href="http://luluse882.com" target="_blank">久久久久成人精品免费播放动漫</a>| <a href="http://xy3977.com" target="_blank">欧美精品在线视频观看</a>| <a href="http://491342.com" target="_blank">亚洲深夜影院</a>| <a href="http://dy123456.com" target="_blank">欧美一区二区三区的</a>| <a href="http://zj-jufeng.com" target="_blank">狠狠久久综合婷婷不卡</a>| <a href="http://www-49hk.com" target="_blank">免费不卡在线视频</a>| <a href="http://73cao.com" target="_blank">欧美天天影院</a>| <a href="http://ez4444.com" target="_blank">久久爱www</a>| <a href="http://cechi8.com" target="_blank">久久视频一区二区</a>| <a href="http://9952222.com" target="_blank">亚洲精品免费网站</a>| <a href="http://wanmajc.com" target="_blank">国产精品99久久久久久久久</a>| <a href="http://193youwu.com" target="_blank">国产亚洲成av人在线观看导航</a>| <a href="http://7kz6.com" target="_blank">农村妇女精品</a>| <a href="http://9966k.com" target="_blank">欧美一级日韩一级</a>| <a href="http://xhamster0.com" target="_blank">亚洲国产一区视频</a>| <a href="http://7755mm.com" target="_blank">99精品福利视频</a>| <a href="http://www-55125.com" target="_blank">国产亚洲成精品久久</a>| <a href="http://dxmdzz.com" target="_blank">欧美成人精品高清在线播放</a>| <a href="http://133686.com" target="_blank">欧美黑人在线播放</a>| <a href="http://8090567.com" target="_blank">久久精品中文字幕一区</a>| <a href="http://aa56789.com" target="_blank">亚洲在线观看</a>| <a href="http://www8888803.com" target="_blank">夜夜夜久久久</a>| <a href="http://566805.com" target="_blank">亚洲国产91色在线</a>| <a href="http://16355t.com" target="_blank">亚洲欧美激情精品一区二区</a>| <a href="http://www789yys.com" target="_blank">尤物在线精品</a>| <a href="http://evaporsllc.com" target="_blank">亚洲一二三四久久</a>| <a href="http://880895.com" target="_blank">亚洲美女精品久久</a>| <a href="http://metagasa.com" target="_blank">久久黄金**</a>| <a href="http://92xx00.com" target="_blank">午夜欧美精品</a>| <a href="http://htzhuanli.com" target="_blank">欧美激情亚洲另类</a>| <a href="http://744734.com" target="_blank">久久久亚洲成人</a>| <a href="http://354eee.com" target="_blank">欧美三级黄美女</a>| <a href="http://1000kongbao.com" target="_blank">欧美福利视频一区</a>| <a href="http://cpddddcc.com" target="_blank">国产小视频国产精品</a>| <a href="http://www-06654.com" target="_blank">亚洲精品一区二区在线</a>| <a href="http://0755hqr.com" target="_blank">久久亚洲美女</a>| <a href="http://www134rr.com" target="_blank">久久福利毛片</a>| <a href="http://com42923.com" target="_blank">国产精品多人</a>| <a href="http://www330849.com" target="_blank">亚洲欧洲另类</a>| <a href="http://1235656.com" target="_blank">亚洲国产日韩欧美一区二区三区</a>| <a href="http://543199.com" target="_blank">永久91嫩草亚洲精品人人</a>| <a href="http://mmpzyw.com" target="_blank">免费成人av资源网</a>| <a href="http://zunguidq.com" target="_blank">国产伦精品一区二区三区照片91 </a>| <a href="http://www1126v.com" target="_blank">亚洲激情成人在线</a>| <a href="http://3333577.com" target="_blank">亚洲自拍另类</a>| <a href="http://域名" target="_blank">亚洲欧美日韩在线高清直播</a>| <a href="http://259758.com" target="_blank">欧美成人免费在线视频</a>| <a href="http://seqing9.com" target="_blank">久久五月天婷婷</a>| <a href="http://660507jj.com" target="_blank">国产亚洲综合性久久久影院</a>| <a href="http://cz-hongbangfloor.com" target="_blank">99爱精品视频</a>| <a href="http://hu62.com" target="_blank">欧美性猛交xxxx乱大交退制版</a>| <a href="http://tk99444.com" target="_blank">欧美a级理论片</a>| <a href="http://ydpszcn.com" target="_blank">狠狠入ady亚洲精品</a>| <a href="http://251aaa.com" target="_blank">欧美伊人精品成人久久综合97</a>| <a href="http://6u6uuu666.com" target="_blank">亚洲综合日韩</a>| <a href="http://y7y7s.com" target="_blank">国产精品捆绑调教</a>| <a href="http://avicpharm.com" target="_blank">夜夜爽99久久国产综合精品女不卡</a>| <a href="http://xshgwy.com" target="_blank">亚洲精品一区二区三区不</a>| <a href="http://fdgkinetic.com" target="_blank">久久蜜桃香蕉精品一区二区三区</a>| <a href="http://cnlbogs.com" target="_blank">久久麻豆一区二区</a>| <a href="http://moonshile.com" target="_blank">国产一区二区电影在线观看</a>| <a href="http://www36633.com" target="_blank">亚洲欧美国产高清va在线播</a>| <a href="http://xissy.com" target="_blank">香蕉成人伊视频在线观看</a>| <a href="http://5cok.com" target="_blank">国产精品福利在线观看</a>| <a href="http://ztqsfw.com" target="_blank">中国女人久久久</a>| <a href="http://cm1-100.com" target="_blank">亚洲嫩草精品久久</a>| <a href="http://www-90422.com" target="_blank">国产伦精品一区二区三区</a>| <a href="http://689558.com" target="_blank">亚洲黄色有码视频</a>| <a href="http://tk263.com" target="_blank">欧美在线观看www</a>| <a href="http://114499com.com" target="_blank">久久不射网站</a>| <a href="http://avtb2068.com" target="_blank">黄色成人在线</a>| <a href="http://www-xj788.com" target="_blank">蜜臀av性久久久久蜜臀aⅴ四虎</a>| <a href="http://proenhub.com" target="_blank">免费成人毛片</a>| <a href="http://59812mh.com" target="_blank">亚洲美女毛片</a>| <a href="http://92ebook.com" target="_blank">国产精品亚洲一区二区三区在线</a>| <a href="http://chinasck.com" target="_blank">亚洲自拍高清</a>| <a href="http://75yyyy.com" target="_blank">欧美aⅴ一区二区三区视频</a>| <a href="http://sapronlee.com" target="_blank">亚洲国产婷婷香蕉久久久久久99</a>| <a href="http://66gg6.com" target="_blank">亚洲毛片在线</a>| <a href="http://11b29.com" target="_blank">亚洲乱码一区二区</a>| <a href="http://422608.com" target="_blank">午夜久久一区</a>| <a href="http://vvvv81.com" target="_blank">在线观看日韩</a>| <a href="http://by777117.com" target="_blank">欧美激情第三页</a>| <a href="http://320ur.com" target="_blank">亚洲性线免费观看视频成熟</a>| <a href="http://aqdit2022.com" target="_blank">欧美在线综合视频</a>| <a href="http://kedou09.com" target="_blank">亚洲第一中文字幕</a>| <a href="http://tk99444.com" target="_blank">欧美日韩国产在线播放</a>| <a href="http://jldianda.com" target="_blank">亚洲欧美日韩久久精品</a>| <a href="http://spvicarb.com" target="_blank">两个人的视频www国产精品</a>| <a href="http://luqintang.com" target="_blank">亚洲人成亚洲人成在线观看图片</a>| <a href="http://49vvvv.com" target="_blank">欧美日一区二区在线观看</a>| <a href="http://ym5571.com" target="_blank">午夜精品亚洲一区二区三区嫩草</a>| <a href="http://zjkgjt.com" target="_blank">免费亚洲视频</a>| <a href="http://3531888.com" target="_blank">亚洲欧美日韩一区二区</a>| <a href="http://seqingdao.com" target="_blank">国内精品久久久久久 </a>| <a href="http://04oy.com" target="_blank">亚洲欧美国产高清va在线播</a>| <a href="http://avsemm.com" target="_blank">国产性色一区二区</a>| <a href="http://7885888.com" target="_blank">欧美大片在线影院</a>| <a href="http://979695.com" target="_blank">亚洲欧美另类中文字幕</a>| <a href="http://q731.com" target="_blank">欧美激情女人20p</a>| <a href="http://www92994.com" target="_blank">欧美一区二区视频观看视频</a>| <a href="http://www47777.com" target="_blank">有坂深雪在线一区</a>| <a href="http://78757a.com" target="_blank">国产精品日韩在线播放</a>| <a href="http://4388x3.com" target="_blank">蜜桃av一区二区在线观看</a>| <a href="http://3c3c3c.com" target="_blank">亚洲手机在线</a>| <a href="http://kanzhelu31.com" target="_blank">亚洲国内自拍</a>| <a href="http://instantptt.com" target="_blank">久久久亚洲国产美女国产盗摄</a>| <a href="http://bgflee.com" target="_blank">亚洲视频在线一区观看</a>| <a href="http://4186a.com" target="_blank">在线日韩视频</a>| <a href="http://497n.com" target="_blank">国产揄拍国内精品对白</a>| <a href="http://51jieyanla.com" target="_blank">在线日韩av永久免费观看</a>| <a href="http://tjpzgs.com" target="_blank">欧美波霸影院</a>| <a href="http://15149cc.com" target="_blank">久久久久久久一区</a>| <a href="http://tavbao.com" target="_blank">亚洲欧美国产高清va在线播</a>| <a href="http://yeedeli.com" target="_blank">亚洲乱码国产乱码精品精98午夜</a>| <a href="http://9y1111.com" target="_blank">麻豆成人在线播放</a>| <a href="http://changjiucf.com" target="_blank">久久激情五月婷婷</a>| <a href="http://www49718.com" target="_blank">亚洲免费人成在线视频观看</a>| <a href="http://www-787333.com" target="_blank">亚洲日韩欧美一区二区在线</a>| <a href="http://65kf.com" target="_blank">黄色亚洲精品</a>| <a href="http://80hogo.com" target="_blank">国产自产2019最新不卡</a>| <a href="http://xiaokd666.com" target="_blank">国产精品日本精品</a>| <a href="http://548710.com" target="_blank">欧美午夜www高清视频</a>| <a href="http://xhamster0.com" target="_blank">免费影视亚洲</a>| <a href="http://wwwlywbb.com" target="_blank">免费久久99精品国产自在现线</a>| <a href="http://605054.com" target="_blank">欧美一区成人</a>| <a href="http://3c3c3c.com" target="_blank">欧美一区二区三区免费看</a>| <a href="http://by27333.com" target="_blank">亚洲一二三区在线</a>| <a href="http://555346.com" target="_blank">亚洲综合色在线</a>| <a href="http://114mz.com" target="_blank">亚洲一区三区电影在线观看</a>| <a href="http://669528.com" target="_blank">一区二区三区欧美激情</a>| <a href="http://kakatok.com" target="_blank">9国产精品视频</a>| <a href="http://zhijiasd.com" target="_blank">一区二区三区国产</a>| <a href="http://lzklpc.com" target="_blank">一区二区三区四区蜜桃</a>| <a href="http://aimashe.com" target="_blank">一区二区三区四区五区精品视频</a>| <a href="http://bx989.com" target="_blank">亚洲日本中文字幕</a>| <a href="http://www224558.com" target="_blank">亚洲精品国产精品国自产观看 </a>| <a href="http://www668889.com" target="_blank">嫩草影视亚洲</a>| <a href="http://www297777.com" target="_blank">欧美成人资源</a>| <a href="http://8222666.com" target="_blank">欧美不卡一卡二卡免费版</a>| <a href="http://1116333.com" target="_blank">玖玖综合伊人</a>| <a href="http://48655aa.com" target="_blank">一区二区高清视频</a>| <a href="http://by2565.com" target="_blank">欧美日韩午夜在线</a>| <a href="http://3315588.com" target="_blank">欧美午夜a级限制福利片</a>| <a href="http://nxhjzddata.com" target="_blank">欧美午夜精品久久久久久孕妇</a>| <a href="http://480192.com" target="_blank">欧美日韩在线播放三区四区</a>| <a href="http://ncyy4.com" target="_blank">欧美日韩另类在线</a>| <a href="http://666cmc.com" target="_blank">国产精品高潮呻吟久久av无限</a>| <a href="http://sygxjt.com" target="_blank">国产精品激情电影</a>| <a href="http://www-90567.com" target="_blank">国产乱子伦一区二区三区国色天香</a>| <a href="http://961318.com" target="_blank">国产日韩欧美夫妻视频在线观看</a>| <a href="http://300644.com" target="_blank">国产主播一区</a>| <a href="http://13789a.com" target="_blank">亚洲国产91精品在线观看</a>| <a href="http://jiarenlady.com" target="_blank">亚洲肉体裸体xxxx137</a>| <a href="http://681656.com" target="_blank">亚洲无亚洲人成网站77777</a>| <a href="http://jjoo4.com" target="_blank">午夜精品久久久久99热蜜桃导演</a>| <a href="http://yy0754.com" target="_blank">欧美在线播放</a>| <a href="http://jlhao123.com" target="_blank">蜜桃久久av</a>| <a href="http://jgj230230.com" target="_blank">亚洲精品中文字幕女同</a>| <a href="http://338pv.com" target="_blank">亚洲一区在线播放</a>| <a href="http://www33779.com" target="_blank">久久人91精品久久久久久不卡</a>| <a href="http://njggmy.com" target="_blank">欧美二区视频</a>| <a href="http://taotuango.com" target="_blank">国产精品视频</a>| <a href="http://jorhom.com" target="_blank">亚洲高清在线视频</a>| <a href="http://02326a.com" target="_blank">亚洲伊人第一页</a>| <a href="http://www672hh.com" target="_blank">久久最新视频</a>| <a href="http://sththg.com" target="_blank">一本一本久久a久久精品综合麻豆</a>| <a href="http://sanlans888.com" target="_blank">亚洲欧美综合一区</a>| <a href="http://556626.com" target="_blank">欧美xart系列高清</a>| <a href="http://131397.com" target="_blank">国产日韩欧美在线播放</a>| <a href="http://820002.com" target="_blank">亚洲狠狠婷婷</a>| <a href="http://www-4997.com" target="_blank">欧美影院在线播放</a>| <a href="http://ju255.com" target="_blank">亚洲国产精品视频</a>| <a href="http://7788444.com" target="_blank">亚洲你懂的在线视频</a>| <a href="http://wallypanel.com" target="_blank">免费成人性网站</a>| <a href="http://605799.com" target="_blank">国产欧美一区二区精品性</a>| <a href="http://shiselol.com" target="_blank">亚洲国产精品999</a>| <a href="http://2061826.com" target="_blank">欧美一级理论片</a>| <a href="http://hkjccc.com" target="_blank">亚洲成色777777女色窝</a>| <a href="http://zhaosaoz.com" target="_blank">亚洲一区区二区</a>| <a href="http://456kp.com" target="_blank">欧美人与禽性xxxxx杂性</a>| <a href="http://yanuoxun.com" target="_blank">国产一区二区三区自拍</a>| <a href="http://lianjiemenye.com" target="_blank">一区二区三区|亚洲午夜</a>| <a href="http://dsjgqc.com" target="_blank">久久噜噜噜精品国产亚洲综合</a>| <a href="http://ktokt.com" target="_blank">亚洲精品资源</a>| <a href="http://dxmdzz.com" target="_blank">久久只精品国产</a>| <a href="http://hg4958.com" target="_blank">国产三级欧美三级日产三级99</a>| <a href="http://131397.com" target="_blank">亚洲毛片播放</a>| <a href="http://wwwyinyinai149.com" target="_blank">麻豆成人91精品二区三区</a>| <a href="http://www30bxbx.com" target="_blank">亚洲专区在线</a>| <a href="http://www-919198.com" target="_blank">欧美日韩一区二区三区</a>| <a href="http://7343888.com" target="_blank">亚洲国产精品一区二区第四页av </a>| <a href="http://wwwjuhuase.com" target="_blank">亚洲伊人一本大道中文字幕</a>| <a href="http://9952222.com" target="_blank">欧美激情久久久久</a>| <a href="http://www47011.com" target="_blank">久久九九国产精品</a>| <a href="http://022291.com" target="_blank">国产亚洲精品v</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>