Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java¿ª·¢ÖжàÏß³Ìͬ²½¼¼ÇÉ

ÔÚ±àдһ¸öÀàʱ£¬Èç¹û¸ÃÀàÖеĴúÂë¿ÉÄÜÔËÐÐÓÚ¶àÏ̻߳·¾³Ï£¬ÄÇô¾ÍÒª¿¼ÂÇͬ²½µÄÎÊÌâ¡£ÔÚJavaÖÐÄÚÖÃÁËÓïÑÔ¼¶µÄͬ²½Ô­Ó£­synchronized£¬ÕâÒ²´ó´ó¼ò»¯ÁËJavaÖжàÏß³Ìͬ²½µÄʹÓá£
 ÎÒÃÇÊ×Ïȱàдһ¸ö·Ç³£¼òµ¥µÄ¶àÏ̵߳ijÌÐò£¬ÊÇÄ£ÄâÒøÐÐÖеĶà¸öÏß³Ìͬʱ¶Ôͬһ¸ö´¢ÐîÕË»§½øÐдæ¿î¡¢È¡¿î²Ù×÷µÄ¡£
¡¡¡¡ÔÚ³ÌÐòÖÐÎÒÃÇʹÓÃÁËÒ»¸ö¼ò»¯°æ±¾µÄAccountÀ࣬´ú±íÁËÒ»¸öÒøÐÐÕË»§µÄÐÅÏ¢¡£ÔÚÖ÷³ÌÐòÖÐÎÒÃÇÊ×ÏÈÉú³ÉÁË1000¸öỊ̈߳¬È»ºóÆô¶¯ËüÃÇ£¬Ã¿Ò»¸öÏ̶߳¼¶ÔJohnµÄÕË»§½øÐдæ100Ôª£¬È»ºóÂíÉÏÓÖÈ¡³ö100Ôª¡£ÕâÑù£¬¶ÔÓÚJohnµÄÕË»§À´Ëµ£¬×îÖÕÕË»§µÄÓà¶îÓ¦¸ÃÊÇ»¹ÊÇ1000Ôª²Å¶Ô¡£È»¶øÔËÐеĽá¹ûÈ´³¬³öÎÒÃǵÄÏëÏñ£¬Ê×ÏÈÀ´¿´¿´ÎÒÃǵÄÑÝʾ´úÂ룺
class Account
{
¡¡String name; float amount;
¡¡public Account(String name, float amount)
¡¡{
¡¡¡¡this.name = name;
¡¡¡¡this.amount = amount;
¡¡}
¡¡
¡¡public void deposit(float amt)
¡¡{
¡¡¡¡float tmp = amount;
¡¡¡¡tmp += amt;
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡Thread.sleep(100);
¡¡¡¡¡¡//Ä£ÄâÆäËü´¦ÀíËùÐèÒªµÄʱ¼ä£¬±ÈÈçË¢ÐÂÊý¾Ý¿âµÈ
¡¡¡¡}
¡¡¡¡catch (InterruptedException e)
¡¡¡¡{
¡¡¡¡¡¡// ignore
¡¡¡¡}
¡¡¡¡amount = tmp;
¡¡}
¡¡public void withdraw(float amt)
¡¡{
¡¡¡¡float tmp = amount;
¡¡¡¡tmp -= amt;
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡Thread.sleep(100);
¡¡¡¡¡¡//Ä£ÄâÆäËü´¦ÀíËùÐèÒªµÄʱ¼ä£¬±ÈÈçË¢ÐÂÊý¾Ý¿âµÈ
¡¡¡¡}
¡¡¡¡catch (InterruptedException e)
¡¡¡¡{
¡¡¡¡¡¡// ignore
¡¡¡¡}
¡¡¡¡amount = tmp;
¡¡}
¡¡public float getBalance()
¡¡{
¡¡¡¡return amount;
¡¡ }
}
public class AccountTest
{
¡¡private static int NUM_OF_THREAD = 1000;
¡¡static Thread[] threads = new Thread[NUM_OF_THREAD];
¡¡public static void main(String[] args)
¡¡{
¡¡¡¡final Account acc = new Account("John", 1000.0f);
¡¡¡¡for (int i = 0; i< NUM_OF_THREAD; i++)
¡¡¡¡{
¡¡¡¡¡¡threads[i] = new Thread(new Runnable()
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡public void run()
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡acc.deposit(100.0f);
¡¡¡¡¡¡¡¡¡¡acc.withdraw(100.0f);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡ );
¡¡¡¡threads[i].start();
¡¡}
¡¡for (int i=0; i<NUM_OF_THREAD; i++)
¡¡{
¡¡¡¡try { threads[i].join();
¡¡¡¡//µÈ´ýËùÓÐÏß³ÌÔËÐнáÊø
¡¡}
¡¡catch (InterruptedEx


Ïà¹ØÎĵµ£º

JavaµÄͬ²½»úÖÆºÍsynchronized¹Ø¼ü×Ö

¿ª·¢ÕßÓÐʱ´´½¨µÄ¶àÏ̳߳ÌÐò»áÉú³É´íÎóÖµ»ò²úÉúÆäËüÆæ¹ÖµÄÐÐΪ¡£¹Å¹ÖÐÐΪһ°ã³öÏÖÔÚÒ»¸ö¶àÏ̳߳ÌÐòûʹÓÃͬ²½Á¬ÔØÏ̷߳ÃÎʹؼü´úÂ벿·ÝµÄʱºò¡£Í¬²½Á¬ÔØÏ̷߳ÃÎʹؼü´úÂ벿·ÝÊÇʲôÒâË¼ÄØ£¿ÔÚÕâÆªÎÄÕÂÖнâÊÍÁËͬ²½£¬JavaµÄͬ²½»úÖÆ£¬ÒÔ¼°µ±¿ª·¢ÕßûÓÐÕýȷʹÓÃÕâ¸ö»úÖÆÊ±³öÏÖµÄÁ½¸öÎÊÌâ¡£Ò»µ©Äã¿´ÍêÕâÆªÎÄÕ£¬Äã¾Í¿ÉÒÔ±ÜÃâÔÚ ......

ÈçºÎÓÃJavaƽ̨·ÃÎÊ¿ªÔ´ÔÆ´æ´¢£¿


ÈçºÎÓÃJavaƽ̨·ÃÎÊ¿ªÔ´ÔÆ´æ´¢£¿
2009Äê10Ô                     ×÷Õߣº¼òÖñ/Òë 
¾¡¹ÜÔÆ¼ÆËãÕâÒ»ÊõÓï²¢²»ÐÂÏÊ(AmazonÔÚ2006Äê¾Í¿ªÊ¼ÌṩËüµÄÔÆ·þÎñ)£¬µ«´Ó2008ÄêÆðËü²Å¿ªÊ¼ÕæÕý³ÉΪÁ÷Ðдʣ¬ÕâÆÚ¼ä£¬GoogleºÍAma ......

Java³ÌÐòÔ±µÄÃÔʧ—ÂÛ¡°ÐéÄâ»ú¡±


Java³ÌÐòÔ±µÄÃÔʧ—ÂÛ“ÐéÄâ»ú”
2009Äê08Ô  ×÷Õߣº¶«·½Ö©ÖëÒë
ÐéÄâ»ú¼¼ÊõÏÖÔڷdz£ÈÈÃÅ£¬ÈËÃÇÈÏΪËü¿ÉÒÔÍê³ÉÒ»ÇÐÊÂÇé¡£ÈËÃÇÈÈÖÔÓÚÈÃJVM¿ÉÒÔÔËÐÐRuby¡¢PHP»òÆäËüһЩÈÈÃÅÓïÑÔ£¬ÒÔ¼°Ö§³ÖÏñJava FXÖ®ÀàµÄ¼¼Êõ¡£ÕâÖÖÏÖÏóÊǺÃÊÇ»µ£¿Joe WinchesterÒÔ×Ô¼ºµÄ¾­ÀúÀ´ÂÛÖ¤Á˶Դ˵Ŀ´·¨¡£
ÔÚJava³öÏÖ֮ǰÎÒ ......

java¶àÏ̱߳à³ÌÌå»á

ÔÚ Java ³ÌÐòÖÐʹÓöàÏß³ÌÒª±ÈÔÚ C »ò C++ ÖÐÈÝÒ׵ö࣬ÕâÊÇÒòΪ Java ±à³ÌÓïÑÔÌṩÁËÓïÑÔ¼¶µÄÖ§³Ö¡£±¾ÎÄͨ¹ý¼òµ¥µÄ±à³ÌʾÀýÀ´ËµÃ÷ Java ³ÌÐòÖеĶàÏß³ÌÊǶàôֱ¹Û¡£¶ÁÍê±¾ÎÄÒÔºó£¬Óû§Ó¦¸ÃÄܹ»±àд¼òµ¥µÄ¶àÏ̳߳ÌÐò¡£
¡¡¡¡ÎªÊ²Ã´»áÅŶӵȴý£¿
¡¡¡¡ÏÂÃæµÄÕâ¸ö¼òµ¥µÄ Java ³ÌÐòÍê³ÉËÄÏî²»Ïà¹ØµÄÈÎÎñ¡£ÕâÑùµÄ³ÌÐòÓе¥¸ö¿ØÖ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ