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

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

搴斾負(fù)wakeup鎿嶄綔娌℃湁璁板繂錛屾墍浠akeup鍑芥暟蹇呴』鍞ら啋鍦ㄥ悓涓浜嬩歡涓婄潯鐪犵殑鎵鏈夎繘紼嬨傚湪澶欳PU緋葷粺涓婏紝鍗矼P涓妔leep/wakeup鏈哄埗涓嶈搗浣滅敤銆?br />
2.SVR4.2 MP 鎻愪緵浜?jiǎn)鍗曠嫭鐨勬墽琛寴q涚▼鍚屾鐨勫師璇細(xì)鍚屾鍙橀噺銆?br />鍥犱負(fù)鍚屾鍙橀噺涓嶅寘鍚姸鎬侊紝鎵浠ュ彲浠ユ妸瀹冧滑鎯蟲(chóng)垚鏄痵leep/wakeup鐨勪竴縐峂P鍙樺艦銆傜浉鍙嶏紝鎵闇鐨勪換浣曠姸鎬佷俊鎭兘淇濆瓨鍦ㄥ閮ㄦ爣蹇楁垨鑰呰鏁板櫒涓?br />鍚屾鍙橀噺鐨勮璁¤鍚岃嚜鏃嬮攣閰嶅悎宸ヤ綔銆?br />
鍚屾鍙橀噺琚0鏄庝負(fù)sv_t綾誨瀷錛岄噰鐢ㄤ笅闈㈢殑鍑芥暟鍙互緇欏畠鍒嗛厤絀洪棿鍜岃繘琛屽垵濮嬪寲錛?br />sv_t *SV_ALLOC( int slpflag);
slpflag鎸囧畾錛屽鏋滈渶瑕佷負(fù)鍚屾鍙橀噺鍒嗛厤鍐呭瓨錛岄偅涔堟槸鍚﹁兘闃誨榪涚▼銆?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鍙敜閱掍竴涓繘紼嬨傚鏋滆鍞ら啋鍦ㄤ簨浠朵笂鐫$湢鐨勬墍鏈夎繘紼嬶紝鍙互鐢ㄥ悓姝ュ彉閲忕殑涓嬪垪鍑芥暟鏉ュ疄鐜幫細(xì)
void SV_BROADCAST( sv_t *svp, int flags);

濡傛灉鍦ㄤ簨浠惰瑙﹀彂涔嬪墠鍑虹幇浜?jiǎn)涓涓猆NIX淇″彿錛岄偅涔堜笅闈㈢殑SV_WAIT鍙樺艦浼?xì)鍞ら啋杩浗E嬶細(xì)
bool_t SV_WAIT_SIG( sv_t *svp, int pri, lock_t *lkp );
榪斿洖鐨勪唬鐮佽〃鏄庡彂鐢熶簡(jiǎn)浠涔堟牱鐨勪簨浠訛細(xì)濡傛灉鍑虹幇浜?jiǎn)涓涓猆NIX淇″彿錛岄偅涔堝畠榪斿洖FALSE,濡傛灉鍑虹幇浜?jiǎn)SV_SIGNAL鎴朣V_BROADCAST,閭d箞瀹冭繑鍥濼RUE.

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


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

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

]]>
MP鎿嶄綔緋葷粺鍐呮牳涓嚜鏃嬮攣(spinlock)鐨勫疄鐜?/title><link>http://m.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://m.shnenglu.com/martin/archive/2013/06/08/200878.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/200878.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2013/06/08/200878.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/200878.html</wfw:commentRss><trackback:ping>http://m.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 />鑷棆閿佸緱鍚嶄簬榪欐牱涓涓簨瀹烇紝涓涓繘紼嬪湪絳夊欏彟涓涓繘紼嬫鍦ㄤ嬌鐢ㄧ殑閿佹椂浼?xì)澶勪簬蹇櫧{夊緟錛坆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錛堥攣宸茬粡琚崰鐢級(jí)錛岄偅涔坱est_and_set鍑芥暟榪斿洖1錛屽茍涓斿鐞嗗櫒鍦ㄥ驚鐜腑鑷棆錛岀洿鍒拌閿佽閲婃斁涓烘銆傚彧瑕佹妸閿佺殑鐘舵佽緗負(fù)0錛屽氨鍙互閲婃斁閿佷簡(jiǎn)銆?br /><br />void <br />unlock(volatile lock_t * lock_status)<br />{<br />   *lock_status =0;<br />}<br /><br />鍑忓皯瀵歸攣鐨勪簤鐢ㄥ彲浠ラ噰鐢ㄤ袱縐嶅姙娉曪細(xì)<br />絎竴銆佸唴鏍擱拡瀵逛笉鍚岀殑涓寸晫璧勬簮浣跨敤涓嶅悓鐨勮嚜鏃嬮攣錛岄槻姝㈠鐞嗗櫒鍦ㄦ病鏈夌珵浜夋潯浠跺▉鑳佺殑鏃跺欒鍙︿竴涓鐞嗗櫒鎸傝搗銆?br />絎簩銆佸寮簂ock鍜寀nlock鍑芥暟錛屽湪涓婇攣鐨勬椂鍊欏睆钄戒腑鏂?img src ="http://m.shnenglu.com/martin/aggbug/200878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2013-06-08 17:04 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2013/06/08/200875.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/200875.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2013/06/08/200875.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/200875.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/200875.html</trackback:ping><description><![CDATA[鍦ㄥ鉤鏃剁殑搴旂敤璁捐涓紝鐢變簬鍑虹幇澶氱嚎紼嬶紙榪涚▼錛夌殑騫跺彂搴旂敤錛屼互鍙?qiáng)鍒嗗竷寮忓簲鐢ㄥQ屾瘮杈冨鏄撳嚭鐜版閿佺幇璞°?br /><br />涓嬮潰鏉ョ湅涓涓畝鍗曠殑瀹炰緥錛?br />鏈変袱涓嫭绔嬬殑閾捐〃錛屽亣瀹氫嬌鐢ㄤ袱涓嫭绔嬬殑閿佹潵淇濇姢浠栦滑錛屼互渚胯兘澶熺嫭绔嬬殑璁塊棶銆傚啀鍋囧畾鏌愪釜鎿嶄綔瑕佹眰閬嶅巻涓涓垪琛ㄦ墍媯(gè)绱㈠埌鐨勫厓绱犲繀欏諱粠涓や釜鍒楄〃涓柇寮榪炴帴錛?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 />鍙兘鍑虹幇姝婚攣鐨勬儏鍐點(diǎn)?br />榪欒姹傚湪娑堥櫎涓涓厓绱犳槸蹇呴』鍚屾椂鎷ユ湁涓や釜鍒楄〃鐨勯攣銆傚絎竴涓嚎紼嬭鍏堟垨寰楅攣lock_a, 鐒跺悗瑕佹垨寰楅攣lock_b.<br />絎?涓嚎紼嬫濂界浉鍙嶏紝瀹冨厛鎴栧緱閿乴ock_b,鐒跺悗鍐嶈幏鍙栭攣lock_a.<br />濡傛灉鏌愪竴鏃跺埢錛岀涓涓嚎紼嬫墽琛屽埌浜?find element to unlink on list a, 鑰岀浜屼釜綰跨▼姝ゆ椂鎵ц鍒頒簡(jiǎn)find element to unlink on list b, 鍒欒繖涓や釜綰跨▼灝嗗彂鐢熸閿併?br />榪欑姝婚攣縐頒負(fù)AB-BA姝婚攣銆?nbsp;  錛堟敞錛屾閿佺殑鍙戠敓鏄窡涓や釜綰跨▼鐨勬墽琛屾椂搴忕浉鍏崇殑錛屼緥濡傦紝絎竴涓嚎紼嬫墽琛屽畬浜?jiǎn)鎵鏈夌殑榪欓儴鍒嗕唬鐮侊紝綰跨▼2鎵嶅紑濮嬫墽琛屾孌典唬鐮侊紝鍒欎笉浼?xì)鍙戠敓姝婚攣銆傦級(jí)<br /><br />濡傛灉鏌愪釜閿佷笉鏄掑綊閿侊紝渚嬪lock_a, 鑰岀嚎紼?鍦ㄥ簲鐢ㄤ腑瀵瑰畠榪涜澶氫釜璋冪敤錛岃屾病鏈夎皟鐢ㄨВ閿佹搷浣滐紝涔熶細(xì)鍙戠敓姝婚攣銆?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> 涓轟簡(jiǎn)闃叉鍙戠敓榪欑被姝婚攣錛屾墍鏈夌嚎紼嬪繀欏諱互鐩稿悓鐨勬搴忚幏寰楀祵濂楅攣錛屽嵆浠ョ浉鍚岀殑嬈″簭鑾峰緱涓斿悓鏃跺崰鏈夐攣銆?br />鍙互鎶婁笂闈㈢殑浠g爜鏀規(guī)垚濡備笅浠g爜鏉ラ伩鍏嶆閿侊細(xì)<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 />褰撴秹鍙?qiáng)鍒?涓垨鑰呮洿澶氶攣鐨勬椂鍊欎篃鏄姝わ細(xì)鍙鍚勭嚎紼嬪湪鑾峰緱鍜岄噴鏀鵑攣鐨勬椂鍊欎繚鎸佺浉鍚岀殑嬈″簭錛岄偅涔堝氨涓嶄細(xì)鍑虹幇姝婚攣銆?br /><img src ="http://m.shnenglu.com/martin/aggbug/200875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2013-06-08 14:54 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2009/03/20/martin_21.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/77288.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2009/03/20/martin_21.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/77288.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/77288.html</trackback:ping><description><![CDATA[瀹炰綋錛堣璦鍐呭緩鐨勬暟鎹被鍨嬶紝寮鍙戣呭畾涔夌殑綾誨拰鏂規(guī)硶絳夛級(jí)鐨勫畾涔変笌澹版槑錛屽疄浣撳拰鎸囬拡璺熺▼搴忚璁″甫鏉ヤ簡(jiǎn)涓嶅悓褰卞搷錛?br>瀵逛簬瀹炰綋鎴栧畾涔夛紝緙栬瘧鍣ㄨ鐭ラ亾瀹炰綋鐪熷疄鐨勭墿鐞嗗唴瀛樺竷灞錛屽洜姝よ緙栬瘧鍣ㄧ煡閬撹繖浜涗俊鎭紝騫朵笖鍦ㄧ▼搴忕紪璇戝畬姣曞悗涓嶈兘鏇存敼錛庤鎯蟲(chóng)洿鏀瑰繀欏婚噸鏂扮紪璇戠▼搴忥紟鍥犳濡傛灉鍦ㄧ郴緇熻璁¤呯▼搴忓簱涓繍鐢ㄤ簡(jiǎn)inline鍑芥暟錛屽茍涓斿鏋滃簲鐢ㄥ紑鍙戣呭湪搴旂敤涓敤浜?jiǎn)杩欎釜inline鍑芥暟錛屽垯褰撳悗鏉ヨ瀵筰nline榪涜淇敼鏃訛紝鏈夊彲鑳借瀵艱嚧搴旂敤琚噸鏂扮紪璇戯紟<br>瀵逛簬鎸囬拡錛屽畠鐨勫ぇ灝忓湪鐗瑰畾鐨勬満鍣ㄤ笂鏄浐瀹氱殑錛堝湪32浣嶆満鍣ㄤ笂錛屽畠鐨勫ぇ灝忔槸32浣嶏紱鍦?4浣嶆満鍣ㄤ笂錛屽畠鐨勫ぇ灝忔槸64浣嶏級(jí)錛庡洜姝ゅ彲浠ユ敼鍙樺畠鐨勫鹼紝鑰屼笉闇瑕侀噸鏂扮紪璇戝簲鐢紝灝卞彲浠ユ敼鍙樺簲鐢ㄧ殑鍔熻兘錛?br><br>鍦ㄩ潰鍚戝璞′腑錛屽彲浠ラ氳繃铏氬嚱鏁版寚閽堟潵寤惰繜鐗瑰畾鍑芥暟鐨勫喅絳栵紝鍗寵皟鐢ㄥ瓙綾葷殑鍑芥暟錛?br>鍦–璇█涓紝鎴戜滑鍙互閫氳繃鍑芥暟鎸囬拡鏉ュ鍑芥暟鐨勫姛鑳借繘琛屾帹榪熷喅絳栵紟<br>鍦–++涓紝鎴戜滑涔熷彲浠ラ氳繃鍑芥暟鎸囬拡錛堝嚱鏁板璞★級(jí)銆佸璞℃寚閽堟潵鎺ㄨ繜鍐崇瓥錛屼粠鑰屼嬌紼嬪簭鐨勫姛鑳芥洿鏈夊脊鎬с備緥濡傦紝鍦ㄨ璁℃ā寮忎腑鐨剆trategy妯″紡涓紝灝辨槸閫氳繃鍦╟ontex涓寘鍚竴涓寚鍚憇trategy鐨勬寚閽堟潵瀹炵幇鐨勩傛垜浠彲浠ュ畾涔変竴涓娊璞$殑strategy鎺ュ彛錛岀劧鍚庣敱鍚勪釜鍏蜂綋鐨剆trategy瀹炵幇榪欎簺鎺ュ彛錛屼粠鑰屽湪淇濊瘉搴旂敤鏋舵瀯鍑犱箮涓嶅仛浠諱綍璋冩暣涓嬶紝瀹炵幇涓嶅悓鐨勫姛鑳姐傚綋鐒跺湪榪欑瀹炵幇鏂瑰紡涓紝鎴戜滑搴旇鍔犲叆strategy鐨勫喅璁咃紝鐢卞畠鏉ヨ鍐抽噰鐢ㄥ摢涓縐嶇瓥鐣ユ柟寮忋傚喅璁呭彲浠ラ噰鐢ㄩ厤緗枃浠躲佸簲鐢ㄧ殑杈撳叆絳変綔涓哄喅璁殑渚濇嵁銆?br><br>鐔熸?zhèn)塻ymbian鐨勪漢錛屽緢蹇氨浼?xì)鍙戠帋图?xì)瀹冧笌symbian涓殑ECOM鏋舵瀯寰堢浉浼箋傚畠瑕佹眰鍚勭strategy鐨勫疄鐜版柟寮忚鍖呭惈鍦ㄥ叡浜殑DLL涓紝騫剁敱RLibrary::Loard()璋冪敤鍔ㄦ佽澆鍏?<br>浣跨敤瀹氫箟鎶借薄鎺ュ彛錛岀劧鍚庡湪鍚凞LL涓畾涔夊叿浣撶殑瀹炵幇錛屽茍涓斿姩鎬佽澆鍏ワ紝鎴戜滑鍙互姣旇緝瀹規(guī)槗鍦板疄鐜版墍璋撶殑鎻掍歡(plugin)銆傛彃浠剁殑杞藉叆鍙栧喅浜庨厤緗紝鎴栫浉搴旂殑杈撳叆媯(gè)嫻嬨?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://m.shnenglu.com/martin/aggbug/77288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-20 11:41 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2009/03/18/hello.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/77016.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2009/03/18/hello.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/77016.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/77016.html</trackback:ping><description><![CDATA[錛備簰鏂?mutext)鍜屾棗璇?semaphore)涔嬮棿鏈変粈涔堜笉鍚岋紵錛傝繖鏍風(fēng)殑闂綆鐭屾湁鍔涳紝浣嗚鍥炵瓟鍗寸浉褰撳洶闅撅紟鍗充嬌鏈夌粡楠岀殑瀹炴椂鎿嶄綔緋葷粺(RTOS)鐢ㄦ埛鍦ㄥ尯鍒浣曟紜嬌鐢╩utex鍜宻emaphore鏃朵篃瀛樺湪鐫鍥伴毦錛?br>浣嗚繖涓鐐瑰緢涓嶅垢鑰屼笖寰堝嵄闄╋紝鍥犱負(fù)鏃犱換榪欎袱縐嶅師鐢烺TOS涓殑鍝竴縐嶈閿欒浣跨敤錛岄兘浼?xì)瀵艰嚧宓屽叆寮従p葷粺鍑虹幇鎰忔兂涓嶅埌鐨勯敊璇紝鐗瑰埆鏄繖浜涚郴緇熶負(fù)鏈夊叧鐢熷懡瀹夊叏鐨勪駭鍝佹椂.<br>鏈夊叧mutex鍜宻emaphore鐨勮崚璇炶娉曟槸瀹冧滑鏄浉浼肩殑錛岀敋鑷蟲(chóng)槸鍙互浜掓崲鐨勶紟姝g‘鐨勪簨瀹炴槸灝界mutex鍜宻emaphore鍦ㄥ畠浠殑鎵ц涓婃湁鐩鎬技涔嬪錛屼絾鏄垜浠繕鏄簲璇ュ湪浣跨敤瀹冧滑鏃跺姞浠ュ尯鍒寰咃紟<br>鏈鏅亶錛堜絾涔熸槸涓嶆紜級(jí)鐨勭瓟妗堟槸錛歮utex鍜宻emphore闈炲父鐩鎬技錛屽畠浠彧鏈変竴涓尯鍒紝閭e氨鏄痵emaphores鐨勮鏁板彲浠ヨ秴榪?. 宸笉澶氭墍鏈夌殑宸ョ▼甯堥兘鑳芥紜殑鐞嗚В錛歮utex鏄竴涓簩榪涘埗鏍囧織錛屽彲浠ラ氳繃瀹冩潵紜繚鎵ц嫻佸湪浠g爜鍏抽敭鍖?critical section of code)浜掔浉鎺掓枼,浠庤屽鍏變韓璧勬簮鍔犱竴淇濇姢錛庝絾褰撲粬浠瑕佹眰榪涗竴姝ュ洖絳斿浣曚嬌鐢紓璁$畻鏂規(guī)硶semaphore"鐨勬柟寮忔椂錛屽ぇ閮ㄥ垎宸ョ▼甯堢殑鍥炵瓟灝卞鍚屾暀縐戜功涔︿竴鑸殑鍒繪澘---semaphore鐢ㄤ簬淇濇姢澶氶噸鍚岀被璧勬簮錛?br>閫氳繃綾繪瘮鍔炴硶錛屾垜浠緢瀹規(guī)槗瑙i噴涓轟粈涔?澶氶噸璧勬簮錛傚満鏅槸鏈夌己闄風(fēng)殑.濡傛灉浣犺涓轟竴涓猰utex鏄敱鎿嶄綔緋葷粺鎷ユ湁鐨勫叧閿肩殑璇濓紝鎴戜滑鍙互寰堝鏄撳湴灝嗕釜鍒殑mutex姣斿柣鏄煄甯?jìng)鍜栧暋搴椾腑涓闂存蕩瀹ょ殑閽ュ寵錛庡鏋滀綘鎯充嬌鐢ㄦ蕩瀹わ紝鍗存壘涓嶅埌閽ュ寵錛屼綘灝卞繀欏誨湪涓涓槦鍒椾腑絳夊欙紟鍚屾牱鍦幫紝mutex鍒欏崗涓茶鍖栧欏逛換鍔★紝浠ュ彇寰楀叏鍩熻祫婧愮殑鍏變韓錛屽茍涓斾負(fù)絳夊緟闃熷垪涓殑浠誨姟鍒嗛厤涓涓潤(rùn)鍊欏叾寰簭娓愯繘鐨勪綅緗紟<br>浣嗚繖縐嶇畝鍗曠殑璧勬簮淇濇姢鍗忚騫朵笉浣跨敤浜庝袱闂寸浉鍚屾蕩瀹ょ殑鎯呭喌錛庡鏋滄妸涓涓猻emaphore姒傛嫭涓轟竴涓猰utex錛屼嬌鍏惰兘淇濇姢涓や釜鎴栨洿澶氱浉鍚岀殑璧勬簮錛岄偅涔堝湪鎴戜滑鐨勬瘮鍠諱腑錛屽畠?yōu)p薄鏄斁鐫涓ゆ妸鐩稿悓閽ュ寵鐨勮摑瀛愶紝浣犲彲浠ョ敤浠諱綍涓鎶婃墦寮浠諱綍涓鎵囨蕩瀹ょ殑闂紟<br>鍥犳錛宻emaphore鏈韓騫朵笉鑳借В鍐沖涓浉鍚岃祫婧愮殑闂錛庡挅鍟″簵涓殑瀹漢鍙兘鍙煡閬撴湁涓鎶婇挜鍖欙紝浣嗗茍涓嶇煡閬撳摢闂存蕩瀹ゅ彲鐢紟濡傛灉浣犺瘯鍥句互姝ゆ柟寮忎嬌鐢╯emaphore錛屼綘灝嗕細(xì)鍙戠幇闇瑕佹洿澶氱殑鐘舵佷俊鎭?--瀹冧滑閫氬父鏄敱涓嶅悓鐨刴utex鎵淇濇姢鐨勫叡浜祫婧愶紟<br>姝g‘浣跨敤semaphore鏄負(fù)浜?jiǎn)鋴射俊鍙蜂粠涓欏逛換鍔′紶鑷沖彟涓欏逛換鍔★紟mutex鎰忓懗鐫鍙栧緱涓庨噴鏀撅紝浣跨敤鍙椾繚鎶ゅ叡浜祫婧愮殑姣忎竴嬈′換鍔¢兘鏄互榪欐牱鐨勯『搴忚繘琛岋紟鐩告瘮涔嬩笅錛屼嬌鐢╯emaphore鐨勪換鍔¢氬父涓嶆槸鍙戦佷俊鍙鳳紝灝辨槸榪涘叆絳夊緟鐘舵侊紝涓嶅彲鑳藉悓鏃跺彂鐢燂紟<br>渚嬪錛屼換鍔?鍙兘鍖呭惈紼嬪簭浠g爜錛屽綋鎸変笅錛傜數(shù)婧愶紓(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>鐩稿簲鍦幫紝浣犳繪槸閲囩敤涓嬪垪鏂規(guī)硶浣跨敤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琛屼負(fù)錛屽茍涓擨SR瀹夊叏錛庡洜涓鴻繖縐嶆妧鏈帓闄や簡(jiǎn)鍦╰ask綰у埆鐨勪負(fù)浜?jiǎn)鏄腑鏂笉鋴设兘鑰屽紩璧風(fēng)殑閿欒鐨勫彲鑳芥э紝浠嶪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://m.shnenglu.com/martin/aggbug/77016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-18 15:37 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2009/03/17/martin_2.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/76878.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2009/03/17/martin_2.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/76878.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/76878.html</trackback:ping><description><![CDATA[     鎽樿: 鍓嶄竴孌墊椂闂達(dá)紝璇籹ymbian鏂囨。璧勬枡錛屽拰Darwin,ICE絳夊紑婧愪唬鐮侊紝緇忓父紕板埌瀹氭椂鍣ㄥ拰瀹氭椂鍣ㄤ簨浠訛紟鏁呭瀹氭椂鍣ㄧ殑瀹炵幇榪涜浜?jiǎn)涓浜涙暣鐞嗭紝浣滀負(fù)璇諱功絎旇錛屼互闃蹭互鍚庡繕璁幫紟  <a href='http://m.shnenglu.com/martin/archive/2009/03/17/martin_2.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/martin/aggbug/76878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-17 17:34 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2009/03/11/martin_1.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/76204.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2009/03/11/martin_1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/76204.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/76204.html</trackback:ping><description><![CDATA[  <p><span>鍦ㄤ互鍓嶇殑</span>multi-process<span>紼嬪簭涓?/span>,process<span>涔嬮棿閫氳繃鍏變韓鍐呭瓨銆佹搷浣滅郴緇熸彁渚涚殑娑堟伅瀵瑰垪錛屽懡鍚嶇閬撶瓑涓嶅悓鏂瑰紡榪涜鏁版嵁浼犻掋備負(fù)浜?jiǎn)鍑彏畱鍐呭瓨锛屼互鍙?qiáng)榪涚▼鍒囨崲鏃跺紩鍙戠殑涓婁笅鏂囧垏鎹㈢殑寮閿錛岀幇鍦ㄧ殑緋葷粺涓鑸噰鐢?/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>瀹冧滑涔嬮棿鐨勫叧緋誨涓嬶細(xì)</span></p> <p><span>鐢熶駭鑰咃細(xì)鍚戞秷鎭槦鍒椾腑鏀炬暟鎹殑綰跨▼銆?/span></p> <p><span>娑堣垂鑰咃細(xì)浠庢秷鎭槦鍒椾腑鍙栧嚭鏁版嵁鐨勭嚎紼嬨?/span></p> <p> <br> <span>鐢熶駭鑰?/span> ----> <span>娑堟伅闃熷垪</span> -----><span>娑堣垂鑰?/span></p> <p> </p> <p><span>濡傛灉搴旂敤瑙勫畾娑堟伅闃熷垪鐨勬渶澶ч暱搴︺傚湪瀵歸槦鍒楄繘琛屾帶鍒舵椂錛屽簲璇ュ綋娑堟伅闃熷垪婊℃椂錛屽彲鑳借璁╃敓浜ц呰繘琛岀瓑寰咃紝鐩村埌娑堟伅闃熷垪涓湁鏂扮殑浣嶇疆鍙互鏀懼叆鏂扮殑娑堟伅銆傚綋娑堟伅闃熷垪涓虹┖鏃訛紝搴旇璁╂秷璐硅呰繘琛岀瓑寰咃紝鐭ラ亾鏈夋柊鐨勬秷鎭鍔犲埌娑堟伅闃熷垪涓?/span></p> <p> </p> <p><span>鍦ㄨ妯″瀷涓湁涓ょ偣闇瑕佹敞鎰忥細(xì)</span></p> <p><span><span>1錛?/span></span><span>涓嶅悓鐢熶駭鑰咃紝娑堣垂鑰呭悓鏃跺茍鍙戞搷浣滄秷鎭槦鍒楁椂錛屽鍚勬搷浣滅殑涓茶鍖栥傝繖涓棶棰樺彲浠ラ氳繃瀵歸槦鍒楃殑鎿嶄綔榪涜鍔犻攣鏉ュ疄鐜般傚畠鐨勫疄鐜板彲浠ュ弬鑰冨彟涓綃囬殢絎斻?/span>C++<span>鍚屾閿佺鐞嗙殑涓縐嶆柟娉曘嬨?/span></p> <p><span><span>2錛?/span></span><span>鍦ㄦ秷鎭槦鍒椾負(fù)絀烘垨婊℃椂錛屽簲鐢ㄧ▼搴忕殑澶勭悊銆?/span></p> <p><span>榪欏彲浠ュ湪</span>C++<span>涓噰鐢?/span>Monitor.<span>鍦?/span>Monitor<span>涓鏌愮鏉′歡榪涜鐩戞帶銆?/span></p> <p>Monitor <span>瀵硅薄鍙互閲囧彇鐨勫姩浣滐細(xì)</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>鐨勫疄鐜幫紝鍙互寰堢畝鍗曞湴鐢ㄤ笅鍒椾袱縐嶆柟寮忓疄鐜幫細(xì)</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://m.shnenglu.com/martin/aggbug/76204.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-11 12:30 <a href="http://m.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://m.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://m.shnenglu.com/martin/archive/2009/03/09/frank123.html</guid><wfw:comment>http://m.shnenglu.com/martin/comments/75988.html</wfw:comment><comments>http://m.shnenglu.com/martin/archive/2009/03/09/frank123.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.shnenglu.com/martin/comments/commentRss/75988.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/martin/services/trackbacks/75988.html</trackback:ping><description><![CDATA[<p>鍓嶆鏃墮棿錛屽啓浜?jiǎn)涓鐐瑰叧浜庢櫤鑳芥寚閽堢殑涓滆タ錛屾湁璇昏呭弽鏄犳病鏈変唬鐮佹瘮杈冮毦鎳傦紟鐜扮粰鍑烘簮鐮侊紝騫剁◢寰姞浠ヨВ閲?<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://m.shnenglu.com/martin/aggbug/75988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/martin/" target="_blank">martin_yahoo</a> 2009-03-09 16:07 <a href="http://m.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://m.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://sese699.com" target="_blank">99国产精品国产精品久久</a>| <a href="http://www-9694.com" target="_blank">久久在线精品</a>| <a href="http://389746.com" target="_blank">欧美一区二区三区在线播放</a>| <a href="http://432dm.com" target="_blank">91久久夜色精品国产九色</a>| <a href="http://www-72794.com" target="_blank">欧美日韩一卡</a>| <a href="http://sdhanm.com" target="_blank">老司机一区二区三区</a>| <a href="http://677cn.com" target="_blank">久久久精品国产一区二区三区</a>| <a href="http://www-888005.com" target="_blank">在线一区二区三区四区五区</a>| <a href="http://www-90443.com" target="_blank">一区二区三区回区在观看免费视频</a>| <a href="http://yada-jg.com" target="_blank">欧美成人精品三级在线观看</a>| <a href="http://017455.com" target="_blank">欧美激情导航</a>| <a href="http://233116.com" target="_blank">欧美韩日一区二区</a>| <a href="http://7885888.com" target="_blank">亚洲激情国产精品</a>| <a href="http://85041960.com" target="_blank">一本综合精品</a>| <a href="http://456985.com" target="_blank">久久经典综合</a>| <a href="http://sese135.com" target="_blank">欧美午夜视频在线</a>| <a href="http://www30bxbx.com" target="_blank">韩国一区二区三区美女美女秀</a>| <a href="http://heyzo1031.com" target="_blank">欧美日韩在线一区二区三区</a>| <a href="http://maiiyou.com" target="_blank">欧美少妇一区</a>| <a href="http://0000zz.com" target="_blank">91久久精品国产91久久</a>| <a href="http://3dmh329.com" target="_blank">欧美黄色网络</a>| <a href="http://luobu520.com" target="_blank">免费在线成人</a>| <a href="http://638179.com" target="_blank">亚洲黄色尤物视频</a>| <a href="http://ww9494.com" target="_blank">午夜精品久久久久久99热</a>| <a href="http://cnbluebox.com" target="_blank">久久免费黄色</a>| <a href="http://0855d.com" target="_blank">欧美性做爰猛烈叫床潮</a>| <a href="http://jiejiesao8.com" target="_blank">国产精品一区久久</a>| <a href="http://5599912.com" target="_blank">亚洲电影免费</a>| <a href="http://baoyu1313.com" target="_blank">亚洲小视频在线观看</a>| <a href="http://844985.com" target="_blank">欧美黑人在线播放</a>| <a href="http://6u6uuu666.com" target="_blank">久久精品一区二区三区不卡</a>| <a href="http://chaoporn97.com" target="_blank">国产精品九九久久久久久久</a>| <a href="http://373336.com" target="_blank">亚洲视频在线观看网站</a>| <a href="http://zzzz91.com" target="_blank">亚洲国产婷婷</a>| <a href="http://by5263.com" target="_blank">国产精品区二区三区日本</a>| <a href="http://www49718.com" target="_blank">亚洲中无吗在线</a>| <a href="http://heyzo1199.com" target="_blank">午夜久久美女</a>| <a href="http://688528.com" target="_blank">国产日韩一区二区三区在线播放</a>| <a href="http://hzjqkj.com" target="_blank">在线视频成人</a>| <a href="http://jsgf444.com" target="_blank">欧美成人免费在线视频</a>| <a href="http://yxtczx.com" target="_blank">免费h精品视频在线播放</a>| <a href="http://555134.com" target="_blank">亚洲大片av</a>| <a href="http://www52y.com" target="_blank">亚洲靠逼com</a>| <a href="http://ewaygou.com" target="_blank">国产精品私拍pans大尺度在线</a>| <a href="http://287975.com" target="_blank">亚洲一级高清</a>| <a href="http://xxxx90.com" target="_blank">欧美亚洲综合网</a>| <a href="http://yjsp8888.com" target="_blank">伊人蜜桃色噜噜激情综合</a>| <a href="http://56x6.com" target="_blank">亚洲国产精品黑人久久久</a>| <a href="http://exsecular.com" target="_blank">蜜臀久久久99精品久久久久久</a>| <a href="http://www-77663.com" target="_blank">亚洲欧洲日本mm</a>| <a href="http://xvideoav99.com" target="_blank">亚洲美女中出</a>| <a href="http://sao320.com" target="_blank">狠狠久久婷婷</a>| <a href="http://wwwyinyinai149.com" target="_blank">亚洲区中文字幕</a>| <a href="http://hehextv.com" target="_blank">9人人澡人人爽人人精品</a>| <a href="http://y65k.com" target="_blank">欧美视频一区二区</a>| <a href="http://fcponteggi.com" target="_blank">久久久精品五月天</a>| <a href="http://qkspvip.com" target="_blank">欧美视频官网</a>| <a href="http://bjrailtech.com" target="_blank">另类人畜视频在线</a>| <a href="http://yw1998.com" target="_blank">欧美日韩一区在线观看</a>| <a href="http://writeingo.com" target="_blank">久久婷婷亚洲</a>| <a href="http://syddzs.com" target="_blank">国产一区二区三区久久久久久久久</a>| <a href="http://710691.com" target="_blank">久久夜色精品国产欧美乱</a>| <a href="http://ss2ssc.com" target="_blank">欧美午夜大胆人体</a>| <a href="http://www201314.com" target="_blank">美女主播精品视频一二三四</a>| <a href="http://199372.com" target="_blank">国产精品mv在线观看</a>| <a href="http://69ru.com" target="_blank">亚洲三级免费电影</a>| <a href="http://dgxinshidai.com" target="_blank">国产午夜亚洲精品羞羞网站 </a>| <a href="http://caoxiu33.com" target="_blank">亚洲破处大片</a>| <a href="http://by4433.com" target="_blank">伊人久久成人</a>| <a href="http://bjopl.com" target="_blank">久久综合给合</a>| <a href="http://zhxjl.com" target="_blank">欧美高清视频免费观看</a>| <a href="http://613by.com" target="_blank">国产综合激情</a>| <a href="http://0855123.com" target="_blank">欧美在线高清</a>| <a href="http://fjnexpo.com" target="_blank">久久精品国产精品亚洲综合</a>| <a href="http://127mingdao.com" target="_blank">国产精品麻豆va在线播放</a>| <a href="http://www31931.com" target="_blank">免播放器亚洲一区</a>| <a href="http://hhbz518.com" target="_blank">激情亚洲网站</a>| <a href="http://5588gww.com" target="_blank">久久一区二区三区国产精品 </a>| <a href="http://xissy.com" target="_blank">国内精品久久国产</a>| <a href="http://555888666.com" target="_blank">亚洲午夜一区</a>| <a href="http://jldianda.com" target="_blank">久久久91精品国产一区二区三区 </a>| <a href="http://by274.com" target="_blank">久久久久女教师免费一区</a>| <a href="http://zhuankee.com" target="_blank">国产手机视频精品</a>| <a href="http://402626com.com" target="_blank">欧美在线视频免费观看</a>| <a href="http://621762.com" target="_blank">国产农村妇女毛片精品久久麻豆 </a>| <a href="http://derinsolar.com" target="_blank">亚洲日本va在线观看</a>| <a href="http://www87bbw.com" target="_blank">一区二区三区产品免费精品久久75 </a>| <a href="http://kanzhelu31.com" target="_blank">好看的日韩av电影</a>| <a href="http://www668889.com" target="_blank">久久久之久亚州精品露出</a>| <a href="http://sese750.com" target="_blank">欧美国产另类</a>| <a href="http://4008166177.com" target="_blank">亚洲欧美日本伦理</a>| <a href="http://cao2014.com" target="_blank">一区二区在线不卡</a>| <a href="http://jdavmm.com" target="_blank">欧美激情在线免费观看</a>| <a href="http://6556h.com" target="_blank">亚洲小说区图片区</a>| <a href="http://1588vip.com" target="_blank">亚洲高清视频一区二区</a>| <a href="http://www31931.com" target="_blank">亚洲午夜一区二区三区</a>| <a href="http://689658.com" target="_blank">精品动漫3d一区二区三区免费版 </a>| <a href="http://828121.com" target="_blank">亚洲欧美日韩国产成人精品影院</a>| <a href="http://5657hh.com" target="_blank">精品91在线</a>| <a href="http://www497171c.com" target="_blank">国产精品免费看</a>| <a href="http://116016.com" target="_blank">欧美日韩国产一中文字不卡</a>| <a href="http://www24699.com" target="_blank">久久精品国产精品亚洲</a>| <a href="http://ez4444.com" target="_blank">亚洲欧美激情一区二区</a>| <a href="http://korean-edu.com" target="_blank">99精品视频免费全部在线</a>| <a href="http://by722777.com" target="_blank">亚洲电影成人</a>| <a href="http://www-26333com.com" target="_blank">嫩草影视亚洲</a>| <a href="http://18av-77.com" target="_blank">蜜桃久久av</a>| <a href="http://jiejiesao8.com" target="_blank">欧美大片在线看</a>| <a href="http://mm77gg.com" target="_blank">欧美激情综合色</a>| <a href="http://hoppecoke.com" target="_blank">亚洲国产精品悠悠久久琪琪</a>| <a href="http://hankanzhan.com" target="_blank">老司机精品久久</a>| <a href="http://hjk56.com" target="_blank">你懂的视频一区二区</a>| <a href="http://laodaohang.com" target="_blank">在线观看一区视频</a>| <a href="http://hnautos.com" target="_blank">国产综合av</a>| <a href="http://qqcf9900.com" target="_blank">国产日韩亚洲欧美综合</a>| <a href="http://xashp.com" target="_blank">国产无一区二区</a>| <a href="http://7777525.com" target="_blank">国产午夜精品一区理论片飘花 </a>| <a href="http://ju5556.com" target="_blank">国产精品啊啊啊</a>| <a href="http://qimao360.com" target="_blank">欧美性天天影院</a>| <a href="http://40346c.com" target="_blank">国产区二精品视</a>| <a href="http://www49718.com" target="_blank">影音先锋久久精品</a>| <a href="http://227237.com" target="_blank">亚洲国产日韩欧美在线图片</a>| <a href="http://www-293456.com" target="_blank">亚洲三级视频</a>| <a href="http://244223.com" target="_blank">中文在线资源观看网站视频免费不卡 </a>| <a href="http://bgdete.com" target="_blank">亚洲午夜未删减在线观看</a>| <a href="http://096577.com" target="_blank">亚洲欧美一区二区三区在线</a>| <a href="http://www-4157.com" target="_blank">欧美一级黄色录像</a>| <a href="http://www18998.com" target="_blank">免费久久99精品国产自在现线</a>| <a href="http://jy920.com" target="_blank">欧美精品自拍</a>| <a href="http://hy8r.com" target="_blank">狠狠久久五月精品中文字幕</a>| <a href="http://seo8138.com" target="_blank">亚洲精品你懂的</a>| <a href="http://cscjxs.com" target="_blank">午夜免费电影一区在线观看</a>| <a href="http://674446.com" target="_blank">猛干欧美女孩</a>| <a href="http://ynzhuoyi.com" target="_blank">午夜精品久久久久久久男人的天堂 </a>| <a href="http://340996.com" target="_blank">亚洲另类自拍</a>| <a href="http://www492002.com" target="_blank">久久精品视频在线看</a>| <a href="http://by4425.com" target="_blank">国产精品久久久久久久电影</a>| <a href="http://hbzbjxzz.com" target="_blank">狠狠入ady亚洲精品</a>| <a href="http://gx2020.com" target="_blank">香港久久久电影</a>| <a href="http://hakuihoso.com" target="_blank">亚洲品质自拍</a>| <a href="http://hbsmhy.com" target="_blank">欧美 日韩 国产一区二区在线视频</a>| <a href="http://nxhjzddata.com" target="_blank">欧美午夜一区二区</a>| <a href="http://booyitech.com" target="_blank">久久久爽爽爽美女图片</a>| <a href="http://2938476.com" target="_blank">国产精品高清在线观看</a>| <a href="http://987gqb.com" target="_blank">亚洲国产婷婷综合在线精品 </a>| <a href="http://www18bbav.com" target="_blank">亚洲黄色在线视频</a>| <a href="http://7redy.com" target="_blank">久久久高清一区二区三区</a>| <a href="http://65kf.com" target="_blank">亚洲视频一区在线</a>| <a href="http://987527.com" target="_blank">欧美日韩在线免费</a>| <a href="http://9927tv.com" target="_blank">日韩一二三在线视频播</a>| <a href="http://yp889.com" target="_blank">亚洲国产精品电影在线观看</a>| <a href="http://sinojinxing.com" target="_blank">久久疯狂做爰流白浆xx</a>| <a href="http://9113i.com" target="_blank">国产日韩在线一区</a>| <a href="http://www-438686.com" target="_blank">久久久国产午夜精品</a>| <a href="http://nagebbs.com" target="_blank">欧美在线网址</a>| <a href="http://9931111.com" target="_blank">黄色日韩网站视频</a>| <a href="http://96ykm.com" target="_blank">亚洲第一主播视频</a>| <a href="http://123273.com" target="_blank">欧美久久成人</a>| <a href="http://669528.com" target="_blank">亚洲女同性videos</a>| <a href="http://1313js.com" target="_blank">午夜亚洲视频</a>| <a href="http://988tz.com" target="_blank">亚洲国产天堂网精品网站</a>| <a href="http://hg98688.com" target="_blank">欧美国产先锋</a>| <a href="http://ziwufuren.com" target="_blank">欧美日韩精品一区</a>| <a href="http://whrcjy.com" target="_blank">久久精选视频</a>| <a href="http://70909g.com" target="_blank">欧美大片18</a>| <a href="http://868482.com" target="_blank">久久精品五月</a>| <a href="http://lianjiemenye.com" target="_blank">免费欧美在线视频</a>| <a href="http://xianqyd.com" target="_blank">香蕉免费一区二区三区在线观看</a>| <a href="http://478884.com" target="_blank">亚洲私拍自拍</a>| <a href="http://qimao360.com" target="_blank">亚洲精品国偷自产在线99热</a>| <a href="http://mmmm43.com" target="_blank">日韩亚洲综合在线</a>| <a href="http://880895.com" target="_blank">亚洲电影免费在线</a>| <a href="http://gztcm01.com" target="_blank">亚洲欧美日韩在线高清直播</a>| <a href="http://aabbcc11.com" target="_blank">亚洲第一精品在线</a>| <a href="http://ridenimbus.com" target="_blank">午夜精品一区二区三区在线播放</a>| <a href="http://kinghongs.com" target="_blank">亚洲成人在线</a>| <a href="http://287975.com" target="_blank">欧美一区影院</a>| <a href="http://www123hao.com" target="_blank">亚洲图片你懂的</a>| <a href="http://3374com.com" target="_blank">欧美精品一区在线观看</a>| <a href="http://bosengame.com" target="_blank">久久综合99re88久久爱</a>| <a href="http://372469.com" target="_blank">国产精品久久久久久影视</a>| <a href="http://18av18.com" target="_blank">欧美高清你懂得</a>| <a href="http://551692.com" target="_blank">一区二区三区在线免费视频</a>| <a href="http://universehb.com" target="_blank">在线视频精品</a>| <a href="http://jyboke.com" target="_blank">一区二区三区四区蜜桃</a>| <a href="http://tk99444.com" target="_blank">久久网站热最新地址</a>| <a href="http://6w7y.com" target="_blank">国产精品三区www17con</a>| <a href="http://iamsleekcn.com" target="_blank">亚洲欧洲精品成人久久奇米网 </a>| <a href="http://baidijs.com" target="_blank">亚洲无线视频</a>| <a href="http://cswlts.com" target="_blank">亚洲欧美精品在线</a>| <a href="http://jxyptsw.com" target="_blank">国产精品美女在线</a>| <a href="http://jjoo4.com" target="_blank">午夜在线电影亚洲一区</a>| <a href="http://idc0558.com" target="_blank">欧美淫片网站</a>| <a href="http://26thb.com" target="_blank">在线精品视频一区二区</a>| <a href="http://tavbao.com" target="_blank">欧美成人dvd在线视频</a>| <a href="http://r6r4.com" target="_blank">亚洲精品久久久久久久久</a>| <a href="http://785448.com" target="_blank">亚洲欧美成人在线</a>| <a href="http://tk263.com" target="_blank">一区二区三区在线视频免费观看</a>| <a href="http://shght.com" target="_blank">久久久久久网址</a>| <a href="http://66889h.com" target="_blank">亚洲精品孕妇</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>