锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久无码国产精品中文字幕,久久亚洲国产欧洲精品一,久久久久久久久波多野高潮http://m.shnenglu.com/willcao/闈炴竟娉婃棤浠ユ槑蹇?闈炲畞闈欐棤浠ヨ嚧榪?/description>zh-cnTue, 13 May 2025 02:14:49 GMTTue, 13 May 2025 02:14:49 GMT60Dynamic Programming 2: Numbershttp://m.shnenglu.com/willcao/archive/2012/05/25/176124.htmlMichaelCaoMichaelCaoFri, 25 May 2012 04:06:00 GMThttp://m.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://m.shnenglu.com/willcao/aggbug/176124.html" width = "1" height = "1" />

]]>
Dynamic Programming 1: Stringshttp://m.shnenglu.com/willcao/archive/2012/05/23/175937.htmlMichaelCaoMichaelCaoWed, 23 May 2012 14:03:00 GMThttp://m.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://m.shnenglu.com/willcao/archive/2010/11/15/133651.htmlMichaelCaoMichaelCaoMon, 15 Nov 2010 06:22:00 GMThttp://m.shnenglu.com/willcao/archive/2010/11/15/133651.htmlhttp://m.shnenglu.com/willcao/comments/133651.htmlhttp://m.shnenglu.com/willcao/archive/2010/11/15/133651.html#Feedback0http://m.shnenglu.com/willcao/comments/commentRss/133651.htmlhttp://m.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://m.shnenglu.com/willcao/archive/2009/11/05/100205.htmlMichaelCaoMichaelCaoThu, 05 Nov 2009 05:26:00 GMThttp://m.shnenglu.com/willcao/archive/2009/11/05/100205.htmlhttp://m.shnenglu.com/willcao/comments/100205.htmlhttp://m.shnenglu.com/willcao/archive/2009/11/05/100205.html#Feedback0http://m.shnenglu.com/willcao/comments/commentRss/100205.htmlhttp://m.shnenglu.com/willcao/services/trackbacks/100205.html闃呰鍏ㄦ枃

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

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

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

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

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

]]>
Hadoop 綰犻敊涓http://m.shnenglu.com/willcao/archive/2009/09/28/97454.htmlMichaelCaoMichaelCaoMon, 28 Sep 2009 05:32:00 GMThttp://m.shnenglu.com/willcao/archive/2009/09/28/97454.htmlhttp://m.shnenglu.com/willcao/comments/97454.htmlhttp://m.shnenglu.com/willcao/archive/2009/09/28/97454.html#Feedback0http://m.shnenglu.com/willcao/comments/commentRss/97454.htmlhttp://m.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://m.shnenglu.com/willcao/archive/2008/12/10/69103.htmlMichaelCaoMichaelCaoWed, 10 Dec 2008 12:49:00 GMThttp://m.shnenglu.com/willcao/archive/2008/12/10/69103.htmlhttp://m.shnenglu.com/willcao/comments/69103.htmlhttp://m.shnenglu.com/willcao/archive/2008/12/10/69103.html#Feedback2http://m.shnenglu.com/willcao/comments/commentRss/69103.htmlhttp://m.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://m.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://m.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html</guid><wfw:comment>http://m.shnenglu.com/willcao/comments/63074.html</wfw:comment><comments>http://m.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/willcao/comments/commentRss/63074.html</wfw:commentRss><trackback:ping>http://m.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://m.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://m.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://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img src="http://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.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://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://m.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://m.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://m.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://m.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://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> 鐪嬩簡榪欐浠g爜浼氳浜烘兂鍒頒粈涔堝憿?鎯沖埌鐨勫簲璇ユ槸MFC涓偅浜涙秷鎭嚱鏁板惂.涓嶅悓鐨勬秷鎭?鍙傛暟涓嶄竴鏍?榪斿洖鍊間篃涓嶄竴鏍?鑰屽湪瀹氫箟鐨勬椂鍊欏彧鏄竴涓寚閽?鍙槸鍦ㄨ皟鐢ㄧ殑鏃跺欏嵈鏈夊悇縐嶅悇鏍風殑鏂瑰紡.鍙﹀榪欐浠g爜鏈鏈夋剰鎬濈殑灝辨槸鎵撶牬甯歌,灝辯敤浜唘nion鍚屾椂鍙湁涓涓彉閲忓湪璧蜂綔鐢?騫蟲椂涔︿笂鎬繪槸璇村叾浠栧彉閲忛兘涓嶈兘鐢?浠婂ぉ灝辯敤緇欎綘鐪嬬湅,鐢ㄧ殑榪樺緢鐗?.. <img src ="http://m.shnenglu.com/willcao/aggbug/63074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/willcao/" target="_blank">MichaelCao</a> 2008-09-30 11:26 <a href="http://m.shnenglu.com/willcao/archive/2008/09/30/FunctionTest.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬瀛愯繘紼嬪拰鐖惰繘紼?-fork鍑芥暟http://m.shnenglu.com/willcao/archive/2008/07/06/55490.htmlMichaelCaoMichaelCaoSun, 06 Jul 2008 15:40:00 GMThttp://m.shnenglu.com/willcao/archive/2008/07/06/55490.htmlhttp://m.shnenglu.com/willcao/comments/55490.htmlhttp://m.shnenglu.com/willcao/archive/2008/07/06/55490.html#Feedback8http://m.shnenglu.com/willcao/comments/commentRss/55490.htmlhttp://m.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://m.shnenglu.com/willcao/archive/2008/04/30/48527.htmlMichaelCaoMichaelCaoWed, 30 Apr 2008 08:45:00 GMThttp://m.shnenglu.com/willcao/archive/2008/04/30/48527.htmlhttp://m.shnenglu.com/willcao/comments/48527.htmlhttp://m.shnenglu.com/willcao/archive/2008/04/30/48527.html#Feedback4http://m.shnenglu.com/willcao/comments/commentRss/48527.htmlhttp://m.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://m.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://m.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://m.shnenglu.com/willcao/aggbug/48496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/willcao/" target="_blank">MichaelCao</a> 2008-04-30 01:32 <a href="http://m.shnenglu.com/willcao/archive/2008/04/30/48496.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>灝忔枊瀵勮http://m.shnenglu.com/willcao/archive/2008/04/28/48290.htmlMichaelCaoMichaelCaoSun, 27 Apr 2008 16:13:00 GMThttp://m.shnenglu.com/willcao/archive/2008/04/28/48290.htmlhttp://m.shnenglu.com/willcao/comments/48290.htmlhttp://m.shnenglu.com/willcao/archive/2008/04/28/48290.html#Feedback0http://m.shnenglu.com/willcao/comments/commentRss/48290.htmlhttp://m.shnenglu.com/willcao/services/trackbacks/48290.html   鍥為,澶у涓夊勾宸茬粡榪囧幓,浜虹敓鏈綺懼崕鐨勯儴鍒嗕篃鍦ㄦ笎娓愮殑嫻侀?鏃跺父鎯沖埌浠涔?瀛﹀埌浠涔堟諱細鍦ㄨ繖鍐欏啓,鍦ㄩ偅鐢葷敾,铏界劧鍘嗙粡璁稿,浣嗕笉鎴愮郴緇?鎬諱箣浼間箮鎯蟲姄浣忎簺浠涔?浣嗘繪湁婊戣繃,鏁呭湪姝ゅ緩涓灝忓眿.
                      鏈涘鎬?澶氭兂,澶氳.鐝嶆儨闈掓槬.



]]>
久久久青草青青国产亚洲免观| 日韩欧美亚洲综合久久影院Ds| 精品久久久久久成人AV| 热久久国产欧美一区二区精品 | 综合久久给合久久狠狠狠97色| 国产精品久久久久…| av午夜福利一片免费看久久 | 久久久久久久97| 亚洲人成网亚洲欧洲无码久久 | 69SEX久久精品国产麻豆| 精品久久久久久中文字幕人妻最新 | 久久99精品久久久久久野外 | 久久国产精品免费一区二区三区 | 久久这里只精品国产99热| AAA级久久久精品无码片| 久久99精品久久久久久野外| 久久无码一区二区三区少妇 | 无码人妻久久一区二区三区免费 | 久久青青草视频| 久久婷婷五月综合色高清| 品成人欧美大片久久国产欧美...| 久久男人中文字幕资源站| 亚洲综合久久久| 久久狠狠色狠狠色综合| 久久久www免费人成精品| 久久精品视频网| 久久人人添人人爽添人人片牛牛| 精品永久久福利一区二区| 久久99精品久久久久久| 亚洲国产成人久久综合区| 99久久99这里只有免费费精品| 国产精品99久久久精品无码| 国产精品对白刺激久久久| 国产一区二区精品久久凹凸| 亚洲人成网亚洲欧洲无码久久| 国产精品成人久久久久三级午夜电影 | 精品伊人久久大线蕉色首页| 久久91亚洲人成电影网站| 久久久久av无码免费网| 久久天天躁狠狠躁夜夜2020 | 国内精品欧美久久精品|