锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一区二区精品在线,久久综合九色,麻豆精品在线观看http://www.shnenglu.com/willcao/闈炴竟娉婃棤浠ユ槑蹇?闈炲畞闈欐棤浠ヨ嚧榪?/description>zh-cnSat, 11 Oct 2025 08:14:14 GMTSat, 11 Oct 2025 08:14:14 GMT60Dynamic Programming 2: Numbershttp://www.shnenglu.com/willcao/archive/2012/05/25/176124.htmlMichaelCaoMichaelCaoFri, 25 May 2012 04:06:00 GMThttp://www.shnenglu.com/willcao/archive/2012/05/25/176124.html 渚嬪錛歔1, -3, 2, -4 , 5 , 6, -2, 6, 7] 鏈澶х殑鍜屽氨鏄?22 = 5 + 6 - 2 + 6 +7.
瑙f硶濡備笅錛?br />
int subMax(int [] a)
{
    int best = 0;
    int sum = 0;
    for(int i = 0; i < a.length; i++)
    {
         sum = sum + a[i];
         if(sum < 0 )
             sum = 0;
         else if(sum > best)
             best = sum;
    }
    return best;
}
鎯蟲硶灝辨槸涓鐩村姞鎺ヤ笅鏉ョ殑鏁幫紝濡傛灉灝忎簬闆跺氨鍙樹負0錛屽ぇ浜庢渶澶х殑鏁板氨鏇存柊銆傚叾涓竴鐐瑰氨鏄紝濡傛灉閬囧埌璐熸暟錛? 濡傛灉鍜屼笉灝忎簬闆跺氨涓嶇敤浣縮um涓洪浂銆傚鏋滄暟緇勫叏閮ㄤ負璐熸暟錛屼笂闈㈢殑浠g爜鏈夌偣闂錛屼絾涓嶆敼浜嗐傚鏋滄兂鐭ラ亾 榪欎釜鏈澶х殑鍜岀殑搴忓垪鏄粈涔堬紝鍙紼嶅井鏀瑰彉灝卞彲浠ヤ簡錛屼笉璇翠簡銆?br />
2. Ugly Number: 鎵懼嚭絎琻涓兘琚?錛?錛?鏁撮櫎鐨勬暟
渚嬪錛?, 3, 4, 5, 6, 9,10, 12, 15, 20, 25 ... 絎?涓槸4錛?絎?涓槸5錛岀5涓槸6 ... 絎?00鏄紵
鎯蟲硶錛氶鍏堟槸浠?1寮濮嬶紝2錛?錛?鍒嗗埆涔?錛屾渶灝忕殑鏄?錛屾帴涓嬫潵灝辨槸2錛?鐨勪綅緗繘1錛?鍜?鐨勪綅緗笉鍙? 鍐嶆潵涓嬈★紝鏈灝忕殑鏄?錛?鐨勪綅緗繘1錛?鍜?浣嶇疆榪?錛屽啀鏉ヤ竴嬈★紝鏈灝忕殑鏄?錛?鍜?鐨勪綅緗笉鍙樸傘傘?br />
int uglyNum( int n)
{
   
int a = new int[n+1]
   a[
0= 1;
   
int i2 = 0, i3 = 0, i5 = 0;
   
int n2 = 0; n3 = 0; n5 = 0;
   
int m = 0;
   
for(int i = 0; i <= n; i++)
   {
      n2 
= a[i2] * 2;
      n3 
= a[i3] * 3;
      n5 
= a[i5] * 5;
      m 
= min(n2, n3, n5);
      
if(m == n2)
      {
         a[i] 
= m;
         i2
++;
      }
      
//similar for i3 and i5
   }
   
return a[n];
}

3. 鏈鍚庝竴涓棶棰橈細緇?i, j 涓や釜鏁幫紝鐒跺悗鎵撳嵃鍑?2^i 錛?^j 鐨勫簭鍒?br /> 渚嬪錛?i = 3 j =4 灝辨墦鍗板嚭錛?br /> 2^0 * 5 ^0 = 1
2^1 * 5^0 = 2
2^2 * 5 ^0 = 4
2^0 * 5^1 = 5
2^3 * 5^0 = 8
2^1 * 5^1 = 10
...
瑙f硶錛氬拰涓婇潰涓涓В娉曞緢鐩鎬技錛屼笉榪囨敞鎰忚澶勭悊鐩哥瓑鐨勬儏鍐碉紝姣斿2 * 2^1 * 5 ^1 = 20 2^2 * 5^0 ^5 = 20, 浠g爜灝變笉鍐欎簡銆?img src ="http://www.shnenglu.com/willcao/aggbug/176124.html" width = "1" height = "1" />

]]>
Dynamic Programming 1: Stringshttp://www.shnenglu.com/willcao/archive/2012/05/23/175937.htmlMichaelCaoMichaelCaoWed, 23 May 2012 14:03:00 GMThttp://www.shnenglu.com/willcao/archive/2012/05/23/175937.html瀹冨拰鍒嗚屾不涔嬫湁鐐圭被浼鹼紝浣嗘湁鎵涓嶅悓銆侱P鎵鍒嗚В鍑烘潵鐨勫皬闂浼氱浉浜掍緷璧栵紝鍥犳灝變笉鐭ラ亾浠庡摢閲屽垎銆傝屽垎鑰屾不涔嬬殑灝忛棶棰樹笉鐩鎬簰渚濊禆銆傚厛鐪?br />涓皬紼嬪簭鍚э紝鐢熸垚絎琻涓狥ibnacci鏁幫紝鍙兘鏈変漢浼氳繖涔堝啓
int fib ( int n ) {
  if ( n == 0 )
     return 1;
  if ( n == 1 )
     return 1;
  return fib ( n - 1 ) + fib ( n - 2 );
}
浣嗚繖涓嚱鏁版槸2^n鐨勯掑綊錛屾墍浠ュ緢蹇爢鏍堝氨浼氳鐢ㄥ畬鐨勩傚彟澶栧鏋滄濊冧竴涓嬶紝浣犱細鍙戠幇 fib( n - 1 ) 涔熷凡緇忚鐢ㄥ埌fib ( n - 2 ), 鍙槸鍦?br />綆梖ib ( n ) 鐨勬椂鍊欙紝榪欎釜鍊煎張瑕佺畻涓閬嶏紝閭d負浠涔堜笉鎶婅繖涓煎瓨涓嬫潵鍛紵 
濂? 鎴戜滑灝辨崲涓狣P鐨勬柟寮忥細
int fib ( int n ) {
   if ( n == 0 || n == 1 )
      return 1;
   int [] f = new int[ n ];
   f[ 0 ] = 1;
   f[ 1 ] = 1;
   forint i = 2; i < n; i++)
   {
        f[ i ] = f[ i-1 ] + f[ i-2 ];
   }
   return f[ n-1 ];
}
鍙兘榪欎釜姣旇緝瀹規槗浜嗐傚ぇ瀹墮兘鏄庣櫧錛屽氨鏄厛鎶婁互鍓嶇殑鍊肩粰綆楀ソ錛岀劧鍚庡悗闈㈢殑璁$畻灝卞彲浠ュ埄鐢ㄥ墠闈㈢殑鍊箋傚棷錛岄偅紼嶅井鎹釜闅劇偣鐨勫惂銆傜粰涓涓猲*n鐨?,1 matrix錛岀劧鍚庢壘鍒版渶澶х殑鍏ㄦ槸1鐨剆ubmatrix鐨勫ぇ灝忋傛瘮濡傦細
00011
01111
11110
01110
榪欎釜鏈澶х殑閭d釜鍏ㄦ槸1鐨剆ubmatrix鐨勫ぇ灝忓氨鏄?.鐪嬭搗鏉ユ尯闅撅紝鍏跺疄铔鏄撶殑銆?br />鎴戜滑鍏堢敤鏈騫沖父鐨勬濊礬鏉ヨВ涓涓嬪惂銆?br />鍏堝垵濮嬪寲鍙﹀涓涓悓鏍峰ぇ灝忕殑n*n鐨刴atrix
絎竴琛屽拰絎竴鍒楀緢瀹規槗錛屽拰鍘熷厛涓鏍風殑鍊?br />00011
0
0
1
0
鎺ヤ笅鏉ワ紝綆楃浜岃錛屽拰鍏朵粬鐨勮銆傝嚜宸卞姩鎵嬶紝浣犲氨鐭ラ亾鍏跺疄灝辨槸
s[i][j] = min(s[i][j-1],s[i-1][j],s[i-1][j-1]) + 1
鎴戜滑欏轟究榪樺彲浠ュ姞涓婁竴涓猰ax,璁板綍鏈澶х殑鍊箋?br />榪欐牱榪欎釜灝辨悶瀹氫簡銆侱P浠嬬粛瀹屾瘯銆傛帴涓嬫潵寮濮嬪叧浜嶴tring鐨凞P

1.鎵懼埌涓や釜瀛楃涓茬殑鏈澶х浉鍚屽瓧涓茬殑闀垮害
渚嬪錛歛baabb aabbaa 鏈澶х殑鐩稿悓瀛椾覆aabb闀垮害灝辨槸4.
瑙f硶錛氱粰涓や釜涓?p,q 鎴戜滑鏈?br />c(i,j)  = 0 if p[i] != q[j]
c(i,j)  = c(i-1,j-1) + 1 if p[i] = q[j].
浠g爜鍜屼笂闈ubmatrix寰堢浉浼箋傚厛鍒濆鍖栬竟緙橈紝鐒跺悗綆楀嚭鍏朵粬鐨勫?br />2.鎵懼埌涓や釜瀛楃涓茬殑鏈澶ubsequence鐨勯暱搴?br />渚嬪錛歛cbbab abbca 鏈澶х殑subsequence is abba 闀垮害鏄?.
瑙f硶錛氱粰涓や釜涓?p,q 鎴戜滑鏈?br />c(i,j) = max(c(i-1,j),c(i,j-1)) if p[i] != q[j]
c(i,j) = c(i-1,j-1) + 1 if p[i] = q[j]
3.鎵懼埌涓涓瓧絎︿覆鏈澶х殑Palindrom
渚嬪: abcdedcbdsa 鏈澶х殑Palindrom灝辨槸bcdedcb 闀垮害鏄?
瑙f硶錛氱粰涓涓覆p
c(i,j) = max(c(i+1,j),c(i,j-1)) if p[i] != q[j]
c(i,j) = c(i+1,j-1) + 2 if p[i] = q[j]




]]>
Use the rsync to back up all fileshttp://www.shnenglu.com/willcao/archive/2010/11/15/133651.htmlMichaelCaoMichaelCaoMon, 15 Nov 2010 06:22:00 GMThttp://www.shnenglu.com/willcao/archive/2010/11/15/133651.htmlhttp://www.shnenglu.com/willcao/comments/133651.htmlhttp://www.shnenglu.com/willcao/archive/2010/11/15/133651.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/133651.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/133651.html
rsync --progress --avze ssh --delete srcDir/  remoteName@remoteMachine:remoteDir/

-a quick way to specify the recursion and preserve everything.
-v verbose
-z compress

And then change ssh with no password:
Create the private keys for local machine:
ssh-keygen -t dsa
Copy the local keys to remote machine:

ssh-copy-id -i ~/.ssh/id_dsa.pub remoteuser@remotebox
Do not set the password.

After that, add an alias into your .bashrc
alias bp='. ~/backup.sh'
So you can run bp directly to backup all things.
Over ~~~


]]>
濡備綍浣跨敤ramdisk in linux http://www.shnenglu.com/willcao/archive/2009/11/05/100205.htmlMichaelCaoMichaelCaoThu, 05 Nov 2009 05:26:00 GMThttp://www.shnenglu.com/willcao/archive/2009/11/05/100205.htmlhttp://www.shnenglu.com/willcao/comments/100205.htmlhttp://www.shnenglu.com/willcao/archive/2009/11/05/100205.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/100205.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/100205.html闃呰鍏ㄦ枃

]]>
濡備綍澶勭悊hadoop 鏃犳硶鍚姩http://www.shnenglu.com/willcao/archive/2009/11/03/100069.htmlMichaelCaoMichaelCaoTue, 03 Nov 2009 11:38:00 GMThttp://www.shnenglu.com/willcao/archive/2009/11/03/100069.htmlhttp://www.shnenglu.com/willcao/comments/100069.htmlhttp://www.shnenglu.com/willcao/archive/2009/11/03/100069.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/100069.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/100069.htmlhttp://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_%28Single-Node_Cluster%29
寰堝ソ鐨勪竴綃囨枃绔狅紝灝ゅ叾鏄噷闈㈢殑紱佺敤ipv6

]]>
濡備綍鍦╱buntu涓嬌鐢╯shhttp://www.shnenglu.com/willcao/archive/2009/10/20/99003.htmlMichaelCaoMichaelCaoTue, 20 Oct 2009 02:07:00 GMThttp://www.shnenglu.com/willcao/archive/2009/10/20/99003.htmlhttp://www.shnenglu.com/willcao/comments/99003.htmlhttp://www.shnenglu.com/willcao/archive/2009/10/20/99003.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/99003.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/99003.html闃呰鍏ㄦ枃

]]>
Signal And Await In javahttp://www.shnenglu.com/willcao/archive/2009/10/07/98020.htmlMichaelCaoMichaelCaoWed, 07 Oct 2009 06:31:00 GMThttp://www.shnenglu.com/willcao/archive/2009/10/07/98020.htmlhttp://www.shnenglu.com/willcao/comments/98020.htmlhttp://www.shnenglu.com/willcao/archive/2009/10/07/98020.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/98020.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/98020.html闃呰鍏ㄦ枃

]]>
濡備綍鍦╡clipse涓緗甹ava heap sizehttp://www.shnenglu.com/willcao/archive/2009/10/06/97924.htmlMichaelCaoMichaelCaoTue, 06 Oct 2009 02:31:00 GMThttp://www.shnenglu.com/willcao/archive/2009/10/06/97924.htmlhttp://www.shnenglu.com/willcao/comments/97924.htmlhttp://www.shnenglu.com/willcao/archive/2009/10/06/97924.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/97924.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/97924.html闃呰鍏ㄦ枃

]]>
濡備綍鍦ㄦ湰鏈篹clipse涓嬭皟璇旽adoop.http://www.shnenglu.com/willcao/archive/2009/09/29/97577.htmlMichaelCaoMichaelCaoTue, 29 Sep 2009 13:21:00 GMThttp://www.shnenglu.com/willcao/archive/2009/09/29/97577.htmlhttp://www.shnenglu.com/willcao/comments/97577.htmlhttp://www.shnenglu.com/willcao/archive/2009/09/29/97577.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/97577.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/97577.html闃呰鍏ㄦ枃

]]>
Hadoop 綰犻敊涓http://www.shnenglu.com/willcao/archive/2009/09/28/97454.htmlMichaelCaoMichaelCaoMon, 28 Sep 2009 05:32:00 GMThttp://www.shnenglu.com/willcao/archive/2009/09/28/97454.htmlhttp://www.shnenglu.com/willcao/comments/97454.htmlhttp://www.shnenglu.com/willcao/archive/2009/09/28/97454.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/97454.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/97454.html1.鍚勪釜鑺傜偣涓婄殑鐗堟湰瑕佺浉鍚屻傞渶瑕佹敞鎰忕殑鏄紝緙栬瘧鍚庯紝紼嬪簭榪愯灝變細浠巄uild鏂囦歡澶歸噷鐨刢lass鏂囦歡榪愯錛屾墍浠ュ嵆浣夸綘鎶妀ar鍖卌p鍒版牴鐩綍搴曚笅錛屼粛鐒舵病鐢ㄣ傚垹闄uild鐩綍閲岄潰鐨刯ar鍖咃紝榪樻槸娌$敤銆傚姙娉? ant clean
2.鍦ㄤ嬌鐢ㄤ竴涓柊鐗堟湰浠ュ悗錛屽彲鑳戒細鍑虹幇mapreduce鑳藉惎鍔紝浣嗘槸dfs鏃犳硶鍚姩鐨勬儏鍐點傚嵆浣夸綘format namenode榪樻槸涓嶈銆傝繖涓鎴戦儊闂蜂簡濂戒箙銆俶apreduce 閮藉彲浠ュ惎鍔紝浣嗗氨鏄痙fs鏃犳硶鍚姩銆俤atanode灝辨槸鍚姩涓嶄簡銆傛兂浜嗗ソ涔咃紝鎬葷畻鎯蟲槑鐧戒簡銆傚洜涓篸atanode閲岄潰鏈夋暟鎹紝鍙槸namenode閲岄潰鍗存牸寮忓寲浜嗐傚姙娉曪細鍒犻櫎鎵鏈塪atanode涓殑鏁版嵁銆?br>
浣跨敤ssh 榪滅▼鎵ц鍛戒護
ssh gp09@***.comp.nus.edu.sg 'mkdir hadoop'
涓嶈繃ssh鏈変竴涓瘮杈冪儲鐨勫湴鏂癸紝灝辨槸涓嶈兘鐢╟d鍛戒護銆傛墍浠ュ湪浣跨敤鐨勬椂鍊欒灝忓績銆?br>
鍦╨inux鎴栬卽nix涓畨瑁卆nt
緙栬緫.bashrc 鏂囦歡
娣誨姞錛?br>export ANT_HOME=~/files/....
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/bin/java
export PATH=$(PATH):$(ANT_HOME)/bin
鏈熶腑$琛ㄧず鎻愬彇鍙橀噺錛?琛ㄧず鍦ㄥ悗闈㈡坊鍔犮?br>



]]>
鍏充簬鑷棆閿佸拰淇″彿閲忕殑綰犳http://www.shnenglu.com/willcao/archive/2008/12/10/69103.htmlMichaelCaoMichaelCaoWed, 10 Dec 2008 12:49:00 GMThttp://www.shnenglu.com/willcao/archive/2008/12/10/69103.htmlhttp://www.shnenglu.com/willcao/comments/69103.htmlhttp://www.shnenglu.com/willcao/archive/2008/12/10/69103.html#Feedback2http://www.shnenglu.com/willcao/comments/commentRss/69103.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/69103.html  搴熻瘽涓嶅璇翠簡.棣栧厛浠庤嚜鏃嬮攣鐨勬潵婧愭潵鐪嬪惂.璇村埌榪欎釜灝辮璇碨MP,linux 鍦?.2鐨勫唴鏍鎬箣鍚庡氨鍔犲叆浜哠MP鐨勬敮鎸?涓鐩村埌2.6瓚婃潵瓚婂ソ.鏈塖MP灝辨湁澶氫釜cpu鐨勯槦鍒?姣忎竴涓猚pu閮芥湁涓涓嚜宸辯殑璋冨害闃熷垪.榪欐牱鍦ㄦ湁浜涙椂鍊欏氨闇瑕佸鉤琛¤繖浜涢槦鍒?榪欎釜鏃跺欏氨瑕佺敤鍒伴攣,璁╁叾浠朿pu浠涔堜篃涓嶅仛.璁╀竴涓猚pu鏉ユ洿鏂拌繖浜涢槦鍒?榪欎釜鏃跺欒偗瀹氭槸涓嶈兘鐢ㄤ俊鍙烽噺鐨??).榪欐牱灝卞嚭鐜頒簡鑷棆閿?褰撶劧鑷棆閿佺殑鐢ㄩ斾笉姝㈣繖閲?姣斿璇村湪涓柇涓?榪涘叆涓寸晫鍖?淇″彿閲忎篃鏄笉鑳界敤鐨??).榪欎釜鏃跺欏氨瑕佺敤鑷棆閿?鍏朵粬鏂歸潰鐨勮瘽,鎴戝啀鍥炲幓鐪嬬湅.榪欐牱鐨勮瘽搴旇灝卞緢娓呮浜?淇″彿閲忓彧鏄湪榪涚▼涓嬌鐢ㄧ殑.涓鑸潵璇?搴旂敤綰х▼搴?浣犳牴鏈笉鐢ㄨ冭檻鑷棆閿?娌℃湁SMP,涔熶笉鐢ㄨ冭檻浜?鍥犱負浠g爜緙栬瘧浠ュ悗鍙槸紱佹浜嗗唴鏍告姠鍗?榪欎篃灝辨槸璇?榪欐浠g爜涓嶄細琚姠鍗?sleep浠涔堢殑鏍規湰娌$敤.濡傛灉鏄紑鍙戦┍鍔ㄦ柟闈㈢殑璇?榪欎釜鍦ㄥ繀瑕佺殑鏃跺欒繕鏄簲璇ヨ冭檻涓涓?浠涔堟槸蹇呰鐨勬椂鍊欏憿?灝辨槸涓婇潰鎴戣鐨?榪涘叆涓柇涓寸晫鍖轟笖鏈夊涓猚pu.
 



]]>
鍑芥暟鎸囬拡鐨勫己鍒剁被鍨嬭漿鎹?/title><link>http://www.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html</link><dc:creator>MichaelCao</dc:creator><author>MichaelCao</author><pubDate>Tue, 30 Sep 2008 03:26:00 GMT</pubDate><guid>http://www.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html</guid><wfw:comment>http://www.shnenglu.com/willcao/comments/63074.html</wfw:comment><comments>http://www.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/willcao/comments/commentRss/63074.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/willcao/services/trackbacks/63074.html</trackback:ping><description><![CDATA[    鎸囬拡搴旇閮芥槸4涓瓧鑺?鎸囧悜32浣嶇殑鍦板潃.鍙互瀵昏4GB鐨勫唴瀛?濡傛灉鏄?4浣嶅氨鍐嶈.鎵浠ュ鍑芥暟鎸囬拡鏉ヨ榪欎釜搴旇灝辨湁浜嗗緢澶х殑濂藉.鍥犱負鎸囬拡澶у閮芥槸4涓瓧鑺備笉璁烘槸浠涔堢綾葷殑鍑芥暟,瀹冭偗瀹氶兘鏄?瀛楄妭.榪欐牱璧嬪煎氨娌¢棶棰?鍦ㄨ繖閲屼綘涔熷彲浠ュ皢鎸囬拡鐩存帴鐪嬫垚鏄竴涓暣鏁?榪欐牱浼氭洿鏄庣櫧浜?鑰屽浜庡彟澶栦竴涓棶棰?鍑芥暟鍙傛暟鍜岃繑鍥炲?鍒欏畬鍏ㄧ敱鍑芥暟鐨勫畾涔夋潵鍐沖畾.鍡?榪欐牱灝卞彲浠ユ湁寰堝ぇ鐨勮嚜鐢辯┖闂?鏉ユ浠g爜. <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std ;<br></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>typedef </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pfn) (</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>union msg<br></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img id=Codehighlighter1_80_148_Open_Image onclick="this.style.display='none'; Codehighlighter1_80_148_Open_Text.style.display='none'; Codehighlighter1_80_148_Closed_Image.style.display='inline'; Codehighlighter1_80_148_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_80_148_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_80_148_Closed_Text.style.display='none'; Codehighlighter1_80_148_Open_Image.style.display='inline'; Codehighlighter1_80_148_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_80_148_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_80_148_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    pfn first ;<br></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> ifn)(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a ,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b );<br></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">vfn)(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> );<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> OnInt(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a ,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b )<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img id=Codehighlighter1_176_217_Open_Image onclick="this.style.display='none'; Codehighlighter1_176_217_Open_Text.style.display='none'; Codehighlighter1_176_217_Closed_Image.style.display='inline'; Codehighlighter1_176_217_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_176_217_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_176_217_Closed_Text.style.display='none'; Codehighlighter1_176_217_Open_Image.style.display='inline'; Codehighlighter1_176_217_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_176_217_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_176_217_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> a ;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> OnVoid(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a ,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b )<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img id=Codehighlighter1_246_276_Open_Image onclick="this.style.display='none'; Codehighlighter1_246_276_Open_Text.style.display='none'; Codehighlighter1_246_276_Closed_Image.style.display='inline'; Codehighlighter1_246_276_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_246_276_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_246_276_Closed_Text.style.display='none'; Codehighlighter1_246_276_Open_Image.style.display='inline'; Codehighlighter1_246_276_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_246_276_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_246_276_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">a </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img id=Codehighlighter1_289_453_Open_Image onclick="this.style.display='none'; Codehighlighter1_289_453_Open_Text.style.display='none'; Codehighlighter1_289_453_Closed_Image.style.display='inline'; Codehighlighter1_289_453_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_289_453_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_289_453_Closed_Text.style.display='none'; Codehighlighter1_289_453_Open_Image.style.display='inline'; Codehighlighter1_289_453_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_289_453_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_289_453_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    pfn p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(pfn)(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ))OnInt;<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    msg m;<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    m.first</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">(m.ifn)(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(pfn)(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ))OnVoid;<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    m.first</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p;<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    m.vfn(</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> 鐪嬩簡榪欐浠g爜浼氳浜烘兂鍒頒粈涔堝憿?鎯沖埌鐨勫簲璇ユ槸MFC涓偅浜涙秷鎭嚱鏁板惂.涓嶅悓鐨勬秷鎭?鍙傛暟涓嶄竴鏍?榪斿洖鍊間篃涓嶄竴鏍?鑰屽湪瀹氫箟鐨勬椂鍊欏彧鏄竴涓寚閽?鍙槸鍦ㄨ皟鐢ㄧ殑鏃跺欏嵈鏈夊悇縐嶅悇鏍風殑鏂瑰紡.鍙﹀榪欐浠g爜鏈鏈夋剰鎬濈殑灝辨槸鎵撶牬甯歌,灝辯敤浜唘nion鍚屾椂鍙湁涓涓彉閲忓湪璧蜂綔鐢?騫蟲椂涔︿笂鎬繪槸璇村叾浠栧彉閲忛兘涓嶈兘鐢?浠婂ぉ灝辯敤緇欎綘鐪嬬湅,鐢ㄧ殑榪樺緢鐗?.. <img src ="http://www.shnenglu.com/willcao/aggbug/63074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/willcao/" target="_blank">MichaelCao</a> 2008-09-30 11:26 <a href="http://www.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬瀛愯繘紼嬪拰鐖惰繘紼?-fork鍑芥暟http://www.shnenglu.com/willcao/archive/2008/07/06/55490.htmlMichaelCaoMichaelCaoSun, 06 Jul 2008 15:40:00 GMThttp://www.shnenglu.com/willcao/archive/2008/07/06/55490.htmlhttp://www.shnenglu.com/willcao/comments/55490.htmlhttp://www.shnenglu.com/willcao/archive/2008/07/06/55490.html#Feedback8http://www.shnenglu.com/willcao/comments/commentRss/55490.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/55490.html    璐寸偣浠g爜紼嶇◢瑙i噴涓涓?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>

int main(void)
{
        pid_t pid=fork();
        if(pid==0)
        {
                int j ;
                for(j=0;j<10;j++)
                {
                        printf("child: %d\n",j);
                        sleep(1);
                }
        }
        else if (pid>0)
        {
                int i;
                for(i=0;i<10;i++)
                {
                        printf("parent: %d\n",i);
                        sleep(1);
                }
        }
        else
        {
                fprintf(stderr,"can't fork ,error %d\n",errno);
                exit(1);
        }
        printf("This is the end !");
}
    榪愯浜嗚繖孌典唬鐮?鎴戞兂搴旇鎵鏈変漢閮藉簲璇ヤ簡瑙ork浜嗗惂.榪愯鐨勬椂鍊欏彲浠ユ煡鐪嬭繘紼?ps -aux),浼氬彂鐜版湁涓や釜涓鏍風殑榪涚▼,榪愯緇撴潫鍚庢渶鍚庝竴鍙rintf浼氳繍琛屼袱嬈?鍥犱負姣忎釜榪涚▼閮戒細榪愯涓嬈?涓棿鐨勪氦鏇垮氨鏄繘紼嬬殑璋冨害浜?鎴戜篃鏄垰鍒氭槑鐧?榪樻湁寰堝涓滆タ瑕佹繁鍒葷悊瑙?鎬葷畻鏈夌偣鐪夌洰浜?寰堢埥.



]]>
鐢ㄤ唬鐮佹潵鎬濊冭嚜鏃嬮攣鍜屼俊鍙烽噺http://www.shnenglu.com/willcao/archive/2008/04/30/48527.htmlMichaelCaoMichaelCaoWed, 30 Apr 2008 08:45:00 GMThttp://www.shnenglu.com/willcao/archive/2008/04/30/48527.htmlhttp://www.shnenglu.com/willcao/comments/48527.htmlhttp://www.shnenglu.com/willcao/archive/2008/04/30/48527.html#Feedback4http://www.shnenglu.com/willcao/comments/commentRss/48527.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/48527.html鑷繁瀛︾潃鍒漢灝忓皬鐨勫姩浜嗕笅鎵?
鍏堣創淇″彿閲忕殑浠g爜.
#include<pthread.h>
#include<stdio.h>
#include<sys/time.h>

#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0,i;

void * thread1()
{
    printf("thread1: I'm thread 1 \n");
    for(i =0;i<MAX ;i++)
    {
        printf("thread 1: number=%d \n",number);
        pthread_mutex_lock(&mut);
        number++;
        pthread_mutex_unlock(&mut);
        sleep(2);
    }
    printf("thread1: 涓誨嚱鏁板湪絳夋垜瀹屾垚浠誨姟鍚楋紵\n");
    pthread_exit(NULL);
}
void *  thread2()
{
    printf("thread2: I'm thread 2 \n");
    for(i =0; i<MAX;i++)
    {
        printf("thread2 : number=%d\n",number);
        pthread_mutex_lock(&mut);
        number++;
        pthread_mutex_unlock(&mut);
        sleep(3);
    }
    printf("thread2 : 涓誨嚱鏁板湪絳夋垜瀹屾垚浠誨姟涔堬紵\n");
    pthread_exit(NULL);

}

void thread_create(void)
{
    /*鍒涘緩綰跨▼*/
    pthread_create(&thread[0],NULL,thread1,NULL);
    printf("綰跨▼1琚垱寤猴紒\n");
    pthread_create(&thread[1],NULL,thread2,NULL);
    printf("綰跨▼2琚垱寤猴紒\n");
}
void thread_wait(void)
{
    /*絳夊緟綰跨▼緇撴潫*/
    pthread_join(thread[0],NULL);
    printf("綰跨▼1宸茬粡緇撴潫錛乗n");
    pthread_join(thread[1],NULL);
    printf("綰跨▼2宸茬粡緇撴潫!\n");
}
int main()
{
    /*鐢ㄩ粯璁ゅ睘鎬у垵濮嬪寲浜掓枼閿?/
    pthread_mutex_init(&mut,NULL);
    printf("鎴戞槸涓誨嚱鏁幫紝鎴戞鍦ㄥ垱寤虹嚎紼嬶紒\n");
    thread_create();
    printf("鎴戞槸涓誨嚱鏁幫紝鎴戞鍦ㄧ瓑寰呯嚎紼嬪畬鎴愪換鍔★紒\n");
    thread_wait();
}

鎵ц鐨勭粨鏋滄槸:
鎴戞槸涓誨嚱鏁幫紝鎴戞鍦ㄥ垱寤虹嚎紼嬶紒
thread1: I'm thread 1
thread 1: number=0
綰跨▼1琚垱寤猴紒
thread2: I'm thread 2
thread2 : number=1
綰跨▼2琚垱寤猴紒
鎴戞槸涓誨嚱鏁幫紝鎴戞鍦ㄧ瓑寰呯嚎紼嬪畬鎴愪換鍔★紒
thread 1: number=2
thread2 : number=3
thread 1: number=4
thread 1: number=5
thread2 : number=6
thread 1: number=7
thread2 : number=8
thread 1: number=9
thread2 : number=10
thread1: 涓誨嚱鏁板湪絳夋垜瀹屾垚浠誨姟鍚楋紵
綰跨▼1宸茬粡緇撴潫錛?br>thread2 : 涓誨嚱鏁板湪絳夋垜瀹屾垚浠誨姟涔堬紵
綰跨▼2宸茬粡緇撴潫!

 閲嶈:榪欎釜鎵ц鐨勮繃紼嬪ぇ姒傝10縐?!!!!!
鑰屾垜浠敤鑷棆閿?浠g爜:
/*
 * time :2008.4.30
 * author:will cao
 * Email:sei_michael@126.com
 * 鎺㈢儲鑷棆閿佷笌淇″彿閲忕殑鍖哄埆
 */
#include<pthread.h>
#include<stdio.h>

pthread_t thread[2];
pthread_spinlock_t lock ;

#define MAX 10

int number=0,i;

void * thread1()
{
    printf ("thread 1 :I began to run !");
    for(i=0;i<MAX;i++)
    {
        printf("thread 1 :number=%d \n",number);
        pthread_spin_lock(&lock);
        number++;
        pthread_spin_unlock(&lock);
    }
    printf("ok ,I am over !\n");
    pthread_exit(NULL);
}
void * thread2 ()
{
    printf("thread2 : I start !!!\n");
    for(i=0;i<MAX;i++)
    {
        printf("thread2 : number = %d \n",number);
        pthread_spin_lock(&lock);
        number++;
        pthread_spin_unlock(&lock);
    }
    printf("thread 2: I am over!!!");
    pthread_exit(NULL);
}

void thread_create(void)
{
    /*create the threads */
    pthread_create(&thread[0],NULL,thread1,NULL);
    printf("create the thread 1\n ");
    pthread_create(&thread[1],NULL,thread2,NULL);
    printf("create the thread 2 \n");
}
void thread_wait(void )
{
    /*wait for the thread to be over */
    pthread_join(thread[0],NULL);
    printf("the thread 1 is over !\n");
    pthread_join(thread[1],NULL);
    printf("the thread 2 is over ! \n");
}
int main()
{
    /* init the spin lock */
    pthread_spin_init(&lock,0);
    printf("i am the main,and I am creating the threads ");
    thread_create();
    printf("i am the main,and I am wait for the thread to be over!");
    thread_wait();
}
 鎵ц緇撴灉涓?
i am the main,and I am creating the threads thread 1 :I began to run !thread 1 :number=0
thread 1 :number=1
thread 1 :number=2
thread 1 :number=3
thread 1 :number=4
thread 1 :number=5
thread 1 :number=6
thread 1 :number=7
thread 1 :number=8
thread 1 :number=9
ok ,I am over !
create the thread 1
 thread2 : I start !!!
create the thread 2
i am the main,and I am wait for the thread to be over!thread2 : number = 10
thread2 : number = 11
thread2 : number = 12
thread2 : number = 13
thread2 : number = 14
thread2 : number = 15
thread2 : number = 16
thread2 : number = 17
thread2 : number = 18
thread2 : number = 19
thread 2: I am over!!!the thread 1 is over !
the thread 2 is over !
   鎵ц鏃墮棿:鎴戞病鐢ㄧ郴緇熻皟鐢?浣嗚偗瀹氭槸鐢ㄤ笉浜?.1縐掔殑...
鎬葷粨:浠庤〃闈笂鏉ョ湅,寰堟槑鏄劇殑鍖哄埆鏄綋鎴戜滑鐢ㄧ殑鏄俊鍙烽噺鐨勬椂鍊?榪欎釜鏃跺欐槸鏈夎皟搴︾殑.鍥犱負浠庤繍琛岀粨鏋滀笂鏉ョ湅,涓葷嚎紼嬪湪鍒涘緩鍏朵粬涓や釜綰跨▼鍚?鍏朵粬綰跨▼寮濮嬭繍琛?騫朵笖涓葷嚎紼嬩篃鍦ㄨ繍琛?浣嗘庝箞榪愯榪欎釜鏄棤娉曠‘瀹氱殑,榪欐槸涓涓茍鍙戠殑榪囩▼.
    褰撲嬌鐢ㄨ嚜鏃嬮攣鍚?榪欎釜灝變笉涓鏍蜂簡.褰撹繍琛屽埌涓寸晫鍖虹殑鏃跺?瀹冩槸鐩存帴鐨勮繃鍘?涓嶆槸浼氫駭鐢熶竴涓瓑寰?鎴栬呬竴涓皟搴?
涓嶇煡閬撶紪璇戝櫒鏄庝箞緙栬瘧鐨?寰堟兂鐭ラ亾緙栬瘧鍚庝簩榪涘埗浠g爜鏈変粈涔堝尯鍒?浣嗚繖涓ソ鍍忔湁鐐瑰お闅?...涓嶈繃鎴戣寰椾粠榪愯緇撴灉涓婃潵鐪嬭繖涔堝,搴旇宸笉澶氫簡.




]]>
淇″彿閲忎笌鑷棆閿?/title><link>http://www.shnenglu.com/willcao/archive/2008/04/30/48496.html</link><dc:creator>MichaelCao</dc:creator><author>MichaelCao</author><pubDate>Tue, 29 Apr 2008 17:32:00 GMT</pubDate><guid>http://www.shnenglu.com/willcao/archive/2008/04/30/48496.html</guid><description><![CDATA[   鍒氬垰寮濮嬫兂榪欎釜闂鐨勬椂鍊?瑙夊緱濂藉儚榪欎釜鏍規湰灝變笉鏄竴涓棶棰?瀛︽搷浣滅郴緇熺殑榪涚▼闂寸殑閫氫俊鏃?灝辨槸鍏堣鐢ㄤ簰鏂ラ攣瑙e喅涓や釜榪涚▼鍚屾椂璁塊棶涓寸晫鍖虹殑鏂規硶.浣嗘槸鍚庢潵Dijkstra瀵逛簬鍝插瀹惰繘槨愮殑闂鐨勮В絳斾嬌鐢ㄤ簡淇″彿閲?浜庢槸鎴戜滑鎺ュ彈浜嗕俊鍙烽噺.鍦ㄧ湅pthread鐨勬椂鍊?鍙戠幇榪樻湁涓嚜鏃嬮攣.浜庢槸鏈夌偣鏅?榪欎袱涓笉閮芥槸鎺у埗瀵逛復鐣屽尯鐨勮闂殑涔?鎬庝箞閮戒笂鏉ヤ簡?浠栦滑涔嬮棿鏈変粈涔堝尯鍒?浠栦滑鍙堥兘鏄庝箞瀹炵幇鐨?<br>   棣栧厛璇磋嚜鏃嬮攣.榪欎釜瀹炵幇鍩烘湰涓婃槸鍜孴SL鐩稿悓.TSL鎸囦護,棣栧厛鏄鍏變韓涓涓猯ock,褰撹繘鍏ヤ復鐣屽尯鏃?棣栧厛灝唋ock澶嶅埗鍒板瘎瀛樺櫒,鐒跺悗灝唋ock緗負1,鎺ヤ笅鏉ョ湅瀵勫瓨鍣ㄤ腑鐨勫兼槸鍚︿負0,涓?榪涘叆.涓嶄負0榪斿洖.鑰屾渶閲嶈鐨勬槸瀹冭兘淇濊瘉鎸囦護鎵ц鐨勪笉鍙垎鍓叉?涔熷氨鏄鍦ㄨ繖鏉℃寚浠ょ粨鏉熶箣鍓?鍏朵粬鎸囦護涓嶅厑璁歌闂唴瀛?瀹炵幇鐨勬槸鏂瑰紡鏄湪鎸囦護鎵ц涔嬪墠灝嗗唴瀛樻葷嚎紱佹.緇撴潫鍚庡湪鎵撳紑鍐呭瓨鎬葷嚎.鑰岃嚜鏃嬮攣瀹炵幇灝辨槸榪欎釜鏍峰瓙.鍙笉榪囧寰幆浜嗗嚑嬈?涓轟簡鏇村ソ鐨勮cpu璋冨害,鍦ㄥ皾璇曚竴瀹氭鏁板悗榪斿洖.鍥犱負浠栨槸涓鐩村湪閭h竟寰幆鎵浠ュ彨鍋氳嚜鏃嬮攣.鍙榪欑閿佸緢鑰楄祫婧?浣嗘槸閫熷害涓婃潵璇村緢蹇?涓鏃﹂攣閲婃斁,绔嬪埢鍙互寰楀埌璧勬簮.<br>   鍐嶆潵鐪嬬湅淇″彿閲?淇″彿閲忕殑瀹炵幇灝變笉榪欒埇綺懼噯浜?濡傛灉浣跨敤涓涓俊鍙烽噺鏉ユ帶鍒朵竴涓復鐣屽尯鐨勮瘽.灝變細鏈夊緢澶氭儏鍐?棣栧厛鏈鏄庢樉鐨勬槸璇昏?鍐欒呴棶棰?鍙互鏈夊涓鑰?鍐欒呭彧鍙互鏈変竴涓?騫朵笖淇″彿閲忕殑瀹炵幇涔熷拰鑷棆閿佹湁鑰呬竴瀹氱殑鍖哄埆.褰撲竴涓俊鍙烽噺涓嶈兘璁塊棶鍚?榪涚▼涓嶄細鍦ㄩ偅閲屽驚鐜?浼氳鐫$湢鎺?褰撲俊鍙烽噺鍙互浣跨敤鐨勬椂鍊?璋冨害鍣ㄤ細浠庡彲浠ヨ皟搴︾殑榪涚▼閫夋嫨涓涓?<br>   鍩烘湰涓婂氨榪欎釜鏍峰瓙. <img src ="http://www.shnenglu.com/willcao/aggbug/48496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/willcao/" target="_blank">MichaelCao</a> 2008-04-30 01:32 <a href="http://www.shnenglu.com/willcao/archive/2008/04/30/48496.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>灝忔枊瀵勮http://www.shnenglu.com/willcao/archive/2008/04/28/48290.htmlMichaelCaoMichaelCaoSun, 27 Apr 2008 16:13:00 GMThttp://www.shnenglu.com/willcao/archive/2008/04/28/48290.htmlhttp://www.shnenglu.com/willcao/comments/48290.htmlhttp://www.shnenglu.com/willcao/archive/2008/04/28/48290.html#Feedback0http://www.shnenglu.com/willcao/comments/commentRss/48290.htmlhttp://www.shnenglu.com/willcao/services/trackbacks/48290.html   鍥為,澶у涓夊勾宸茬粡榪囧幓,浜虹敓鏈綺懼崕鐨勯儴鍒嗕篃鍦ㄦ笎娓愮殑嫻侀?鏃跺父鎯沖埌浠涔?瀛﹀埌浠涔堟諱細鍦ㄨ繖鍐欏啓,鍦ㄩ偅鐢葷敾,铏界劧鍘嗙粡璁稿,浣嗕笉鎴愮郴緇?鎬諱箣浼間箮鎯蟲姄浣忎簺浠涔?浣嗘繪湁婊戣繃,鏁呭湪姝ゅ緩涓灝忓眿.
                      鏈涘鎬?澶氭兂,澶氳.鐝嶆儨闈掓槬.



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            另类酷文…触手系列精品集v1小说| 日韩视频在线免费| 性xx色xx综合久久久xx| 一本久久综合亚洲鲁鲁| 国产精品一区二区久久国产| 国产精品卡一卡二卡三| 欧美伊人精品成人久久综合97| 午夜在线精品| 亚洲国产精品久久久久秋霞影院| 亚洲高清网站| 欧美+亚洲+精品+三区| 亚洲午夜伦理| 久久成人免费| 日韩亚洲综合在线| 亚洲欧美日产图| 亚洲第一视频| 亚洲色图制服丝袜| 依依成人综合视频| 日韩一二三在线视频播| 国产视频在线观看一区 | 欧美日韩另类在线| 欧美一区二区网站| 欧美不卡视频一区发布| 亚洲欧美日韩一区二区在线| 久久蜜桃香蕉精品一区二区三区| 中文在线一区| 久久亚洲综合| 亚洲黄色片网站| 国产精品综合久久久| 欧美激情一区二区在线 | 国产欧美一区二区色老头| 久久9热精品视频| 亚洲人www| 欧美在线日韩在线| 亚洲一区日韩在线| 欧美激情精品久久久久久| 久久国产乱子精品免费女 | 亚洲一区久久久| 亚洲青色在线| 久久久国产午夜精品| 亚洲欧美在线另类| 欧美激情中文不卡| 欧美成人综合在线| 国语自产精品视频在线看一大j8| 日韩一区二区高清| 亚洲精品影院在线观看| 久久中文精品| 国产午夜亚洲精品不卡| 亚洲一区在线播放| 亚洲在线免费| 欧美日韩高清在线| 亚洲精品黄网在线观看| 亚洲国产精品成人综合色在线婷婷| 一区二区三区无毛| 亚洲国产成人av| 亚洲第一中文字幕| 久久久亚洲欧洲日产国码αv| 亚洲欧美综合网| 国产精品v亚洲精品v日韩精品 | 免费久久精品视频| 欧美www视频| 亚洲第一网站免费视频| 久久综合一区二区| 欧美激情一区三区| 亚洲精品一区二区三区婷婷月 | 亚洲精品视频在线播放| 亚洲精品久久久蜜桃| 欧美成人亚洲| 亚洲国内高清视频| 99国产一区| 欧美一级电影久久| 欧美母乳在线| 一本久道久久久| 午夜亚洲激情| 国产在线精品二区| 美日韩精品视频| 亚洲日本久久| 午夜一区二区三区不卡视频| 国产精品日日摸夜夜添夜夜av | 欧美激情第4页| 99国产精品久久久久老师| 亚洲免费网站| 久久综合中文| 亚洲美女黄网| 国产精品videosex极品| 欧美夜福利tv在线| 免费欧美网站| 国产精品区一区二区三| 香蕉久久夜色精品国产| 免费视频亚洲| 亚洲无玛一区| 黄色精品一区二区| 欧美日韩精品免费观看视频| 亚洲一区免费在线观看| 欧美sm视频| 亚洲美女免费精品视频在线观看| 亚洲自拍偷拍视频| 免费在线成人av| 亚洲一区影院| 在线日韩av片| 国产精品99免视看9| 久久久精品日韩| 亚洲少妇最新在线视频| 免费看av成人| 欧美自拍丝袜亚洲| 一区二区三区高清不卡| 狠狠色狠狠色综合日日tαg| 欧美日韩激情网| 久久―日本道色综合久久| 99精品欧美一区二区蜜桃免费| 久久免费一区| 午夜一区二区三区在线观看| 亚洲精品一区二区三区福利| 国产夜色精品一区二区av| 亚洲视频久久| 亚洲电影免费在线观看| 久久国产精品久久国产精品| 99国产精品久久久久老师| 曰韩精品一区二区| 国产欧美视频一区二区三区| 欧美日韩精品福利| 欧美国产日本韩| 久久综合色88| 国产精品视频福利| 欧美日韩精品一区二区在线播放 | 亚洲区一区二| 欧美插天视频在线播放| 久久精品欧美日韩| 欧美亚洲综合网| 亚洲欧美国产高清va在线播| 一区二区黄色| 一本色道久久综合亚洲精品小说| 黄色成人小视频| 国产亚洲欧美日韩精品| 国产精品自在在线| 国产伦精品一区二区三区| 国产精品成人一区二区三区吃奶| 欧美精品麻豆| 欧美精品在线播放| 欧美日韩成人在线| 99re成人精品视频| 亚洲九九九在线观看| 亚洲精品黄网在线观看| 91久久综合亚洲鲁鲁五月天| 欧美国产视频日韩| 亚洲国产一区二区a毛片| 亚洲国产精品热久久| 亚洲国产日韩美| 日韩一级大片| 国内精品久久久久久久97牛牛| 欧美高清视频一二三区| 欧美激情二区三区| 欧美午夜激情小视频| 国产精品免费一区二区三区在线观看| 国产精品xxxxx| 久久久久国色av免费看影院| 久久综合99re88久久爱| 欧美大片一区二区| 欧美色播在线播放| 国产精品一区二区三区久久| 国产一二三精品| 亚洲区一区二| 亚洲欧美在线看| 老司机精品导航| 亚洲国产一区视频| 亚洲在线国产日韩欧美| 久久久国产精品一区| 欧美激情一区二区三级高清视频| 国产精品v欧美精品∨日韩| 国产一区二区精品久久99| 免费毛片一区二区三区久久久| 亚洲欧洲av一区二区| 国产主播一区二区三区| 亚洲精品网站在线播放gif| 亚洲免费在线电影| 欧美91福利在线观看| 亚洲作爱视频| 巨乳诱惑日韩免费av| 欧美日韩一区综合| 激情六月婷婷综合| 一区二区三区欧美在线观看| 亚洲午夜精品久久| 免费观看久久久4p| 国产日韩成人精品| 亚洲精品自在在线观看| 久久国产一区二区| 亚洲精品日韩一| 久久精品视频在线播放| 国产精品高清免费在线观看| 亚洲大片一区二区三区| 欧美一区二区三区视频免费| 亚洲国产精品精华液2区45| 香蕉久久国产| 国产精品v片在线观看不卡| 最新国产の精品合集bt伙计| 欧美专区亚洲专区| 亚洲一区二区三区乱码aⅴ| 欧美99久久| 亚洲大胆av| 久久一区免费|