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
Ïà¹ØÎĵµ£º
ÏÈѧϰj2se
Ҫѧϰj2ee¾ÍÒªÏÈѧϰj2se£¬¸Õ¿ªÊ¼Ñ§Ï°j2seÏȽ¨Ò鲻ҪʹÓÃIDE£¬È»ºó½¥½¥µÄ¹ý¶Éµ½Ê¹ÓÃIDE¿ª·¢£¬±Ï¾¹ÓÃËü·½±ãÂѧϰj2seÍÆ¼öÁ½±¾Ê飬¡¶java2ºËÐļ¼ÊõÒ»¶þ¾í¡·£¬¡¶java±à³Ì˼Ïë¡·£¬¡¶javaģʽ¡·¡£ÆäÖС¶java±à³Ì˼Ïë¡·ÒªÑжÁ£¬¾«¶Á¡£ÕâÒ»¶Îʱ¼äÊÇ»ù±¾¹¦Ñ§Ï°£¬Ê±¼ä»áºÜ³¤£¬Ò²¿ÉẠ̈ܺܶ¬ÕâÒª¿´Ñ§Ï°Õß×ÔÉíˮƽ¶ø¶¨ ......
1¡¢javaÊý¾Ý¿â²Ù×÷»ù±¾Á÷³Ì
¡¡¡¡2¡¢¼¸¸ö³£ÓõÄÖØÒª¼¼ÇÉ£º
¡¡¡¡¿É¹ö¶¯¡¢¸üеļǼ¼¯
¡¡¡¡ÅúÁ¿¸üÐÂ
¡¡¡¡ÊÂÎñ´¦Àí
¡¡¡¡javaÊý¾Ý¿â²Ù×÷»ù±¾Á÷³Ì£ºÈ¡µÃÊý¾Ý¿âÁ¬½Ó - Ö´ÐÐsqlÓï¾ä - ´¦ÀíÖ´Ðнá¹û - ÊÍ·ÅÊý¾Ý¿âÁ¬½Ó
¡¡¡¡1¡¢È¡µÃÊý¾Ý¿âÁ¬½Ó
¡¡¡¡1£©ÓÃDriverManagerÈ¡Êý¾Ý¿âÁ¬½Ó
¡¡¡¡Àý×Ó£º
String className,url,uid,pwd ......
²»¹ÜÎÒÊǶàôϲ»¶JAVAµ«ÊÇ£¬´Óʵ¼Ê¿ª·¢½Ç¶È½²£¬JavaµÄ¶àÏß³ÌȷʵûÓÐC++ºÃʹ¡£
±íÏÖÔÚ£º
1.JavaûÓÐÈ«¾Ö±äÁ¿£»
2.Java µÄÏß³ÌÖ®¼äµÄͨÐűȽϲC++ÌṩÁ˶àÖÖͨÐÅ·½Ê½£»
3.JavaµÄÊý¾Ýͬ²½ÊÇͨ¹ýsynchronizedÀ´ÊµÏÖ£¬µ«ÊÇ»ù±¾ÉϵÈÓÚ½»¸øÁËÐéÄâ»úÀ´Íê³É£¬¶øC++ÓкܶàÖÖ£ºÁÙ½çÇø¡¢»¥³âÌåµÈ¡£
4. JavaµÄ¶àÏß³Ìrun·½· ......
Ò»£ºÀí½â¶àÏß³Ì
¶àÏß³ÌÊÇÕâÑùÒ»ÖÖ»úÖÆ£¬ËüÔÊÐíÔÚ³ÌÐòÖв¢·¢Ö´Ðжà¸öÖ¸ÁîÁ÷£¬Ã¿¸öÖ¸ÁîÁ÷¶¼³ÆÎªÒ»¸öỊ̈߳¬±Ë´Ë¼ä»¥Ïà¶ÀÁ¢¡£
Ïß³ÌÓÖ³ÆÎªÇáÁ¿¼¶½ø³Ì£¬ËüºÍ½ø³ÌÒ»ÑùÓµÓжÀÁ¢µÄÖ´ÐпØÖÆ£¬ÓɲÙ×÷ϵͳ¸ºÔðµ÷¶È£¬Çø±ðÔÚÓÚÏß³ÌûÓжÀÁ¢µÄ´æ´¢¿Õ¼ä£¬¶øÊǺÍËùÊô½ø³ÌÖÐµÄÆäËüÏ̹߳²ÏíÒ»¸ö´æ´¢¿Õ¼ä£¬ÕâʹµÃÏ̼߳äµÄͨÐÅÔ¶½Ï½ø³Ì¼òµ¥¡£
......