javaÏß³Ìͬ²½ÎÊÌâ
Ò»°ã£¬ÓÐ3ÖÖʹÓÃËø½øÐÐͬ²½µÄ·½·¨
a.·½·¨Í¬²½£¬ÀýÈçpublic synchronized void xxx()...
b.¾²Ì¬·½·¨Í¬²½,ÀýÈçpublic static synchronized void xxx()...
c.³ÌÐò¿éͬ²½,ÀýÈç
...
synchronized(object oLock) //×¢Ò⣺object²»Ò»¶¨ÊǸÃÀàµÄʵÀý
{
...
}
ÔÚÓ÷¨aÖУ¬µ±Ä³Ïß³ÌÖ´Ðз½·¨xxxʱ£¬jvm»áËø¶¨¸ÃÀàµÄʵÀý£¬Ö±µ½·½·¨xxxÖ´ÐÐÍê±Ï¡£Ö´ÐÐxxxµÄ¹ý³Ì¿´¿´³ÉÊÇÕâÑùµÄ£º
*ÇëÇóµÃµ½ÀàʵÀýµÄʵÀýËø£¬¼ÙÈçÓÐÆäËûÏß³ÌÔÚÖ´ÐУ¬ÔòµÈ´ý£»
*µÃµ½ÊµÀýËø£¬Ö´ÐÐxxx£»
*Ö´ÐÐÍê±Ï£¬ÊÍ·ÅʵÀýËø£»
×¢Ò⣬Õâ¸ö¹ý³ÌÊÇjvmÍê³ÉµÄ£¬ÎÒÃÇÖ»ÐèÒª°Ñij¸ö¶ÔÏó·½·¨ÉùÃ÷Ϊsynchronized¼´¿É£¬ÊµÀýËø¿ÉÒÔÀí½âΪʵÀý±¾Éí¡£
ÔÚÓ÷¨bÖÐ,µ±Ä³Ïß³ÌÖ´Ðо²Ì¬·½·¨xxxʱ£¬Ò²ÊÇÓÐjvm¿ØÖƾ¹ýÒÔÉϵÄ3¸ö²½Ö裬Ëù²»Í¬µÄÊÇÓÉÓÚ´Ëʱ²»´æÔÚÀàʵÀý£¨¾²Ì¬·½·¨Â£¬Ëù
ÒÔÓ÷¨aÖÐʵÀýËø±»ÊµÀýµÄÀàµÄËøÈ¡´ú£¬Æäʵ¶ÔÎÒÃDZà³ÌÀ´½²£¬¼¸ºõûÓÐÈκÎÇø±ð£¬ÎÒÃÇÖ»ÐèÒª°Ñ¾²Ì¬·½·¨ÉùÃ÷Ϊsynchronized¼´¿É¡£
ÔÚÓ÷¨cÖУ¬oLock¿ÉÒÔ±»Àí½âΪһ¸ö´«½Ó°ô£¬Ëü¿ÉÒÔÊÇÈκÎÀàµÄʵÀý£¬µ±Ä³¸öÏß³ÌÊÔͼ·ÃÎÊÉùÃ÷ΪsynchronizedµÄ³ÌÐò¿éµÄʱºò£¬jvm
ÅжÏoLockÊÇ·ñ±»Ëø¶¨£¬¼ÙÈçûÓб»Ëø¶¨£¬ÔòËø¶¨oLock²¢Ö´ÐиóÌÐò¿é¡£Ö´ÐÐÍê±ÏÊͷŸÃËø¡£
ÔÚ¶ÔÏó¼¶Ê¹ÓÃËø£¨ÊµÀýËø£©Í¨³£ÊÇÒ»ÖֱȽϴֲڵķ½·¨£¬ÉèÏëһϣ¬¼ÙÈçÒ»¸ö¶ÔÏó¿ÉÄÜÈ¥·ÃÎÊN¸ö¹²Ïí×ÊÔ´£¬ÄÇô¼ÙÈçÓÐÒ»¸öÏ̶߳ÀÕ¼
Á˸öÔÏ󣬶ø½ö½öÊÇΪÁËʹÓÃÆäÖеÄÒ»Ïî×ÊÔ´µÄ»°£¬Ò²»áÔì³ÉÏë·ÃÎÊÆäËü×ÊÔ´µÄÏß³ÌÒ²´¦ÓÚ¶ÂÈû״̬¡£ÓóÌÐò¿éͬ²½¿ÉÒԺܺýâ¾öÕâ¸öÎÊÌ⣬
ÒÔÏÂÊÇʹÓñ»³ÆÎªFine_Grain_LockµÄÀý×Ó£¬¿´£¬Ð§¹ûÊDz»ÊǺÜhigh£º
Java´úÂë
class FineGrainLock {
MyMemberClass x, y;
Object xlock&
Ïà¹ØÎĵµ£º
JAVAÖÐÓÃÓÚ´¦Àí×Ö·û´®³£ÓõÄÓÐÈý¸öÀࣺjava.lang.String¡¢java.lang.StringBuffer¡¢java.lang.StringBuilder£¬ÕâÈýÕߵĹ²Í¬Ö®´¦¶¼ÊÇfinalÀ࣬²»ÔÊÐí±»¼Ì³Ð£¬ÕâÖ÷ÒªÊÇ´ÓÐÔÄܺͰ²È«ÐÔÉÏ¿¼Âǵģ¬ÒòΪÕ⼸¸öÀà¶¼ÊǾ³£±»Ê¹ÓÃ×ŵģ¬ÇÒ¿¼Âǵ½·ÀÖ¹ÆäÖеIJÎÊý±»ÐÞ¸ÄÓ°Ïìµ½ÆäËüµÄÓ¦Óá£StringBufferÓëStrin ......
1£¬¸ÅÊö£ºÏß³ÌµÄ¹ÒÆð²Ù×÷ʵÖÊÉϾÍÊÇʹÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬Ï£¬ÔÚÕâ¸ö״̬ÏÂCPU²»»á·Ö¸øÏß³Ìʱ¼äƬ£¬½øÈëÕâ¸ö״̬¿ÉÒÔÓÃÀ´ÔÝÍ£Ò»¸öÏ̵߳ÄÔËÐУ»ÔÚÏß³Ì¹ÒÆðºó£¬¿ÉÒÔͨ¹ýÖØÐ»½ÐÑÏß³ÌÀ´Ê¹Ö®»Ö¸´ÔËÐС£µ±Ò»¸öÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬£¬¼´¹ÒÆð״̬ʱ£¬±ØÈ»´æÔÚijÖÖÔÒòʹÆä²»ÄܼÌÐøÔËÐУ¬ÕâЩÔÒò¿ÉÄÜ ......
AWTÊÇJavaÖÐÖ§³ÖͼÐλ¯Óû§½çÃæGUIÉè¼ÆµÄÒ»¸ö¹¤¾ß¼¯¡£AWTµÄAPIÊǶÀÁ¢ÓÚÆ½Ì¨µÄ£¬µ«Éè¼Æ³öÀ´µÄ½çÃæÔÚ¸÷ÖÖÆ½Ì¨µÄ·ç¸ñ²»Í¬£¬ÀûÓÃAPIÖи÷ÖÖÀàÔÚÌØ¶¨Æ½Ì¨ÏµĶԵÈ×é¼þpeersÌṩ¾ßÌåÆ½Ì¨ÏµÄʵÏÖ¡£
Óû½¨Á¢Ò»¸öGUIÊ×ÏÈÈ·¶¨ËùÓõÄ×é¼þ¼°Æä²¼¾Ö£¬È»ºóʵÏÖÆäʼþµÄÏìÓ¦¡£×é¼þµÄÀàÐÍÓжàÖÖ£¬Èç³£ÓõÄButton¡¢CheckBoxµÈ£¬¾ùΪComponent ......
Ò»£¬Ïß³Ì״̬µÄ¼ì²é
Ò»°ãÇé¿öÏÂÎÞ·¨È·¶¨Ò»¸öÏ̵߳ÄÔËÐÐ״̬£¬¶ÔÓÚÕâЩ´¦ÓÚδ֪״̬µÄỊ̈߳¬¿ÉÒÔͨ¹ýisAlive()·½·¨ÓÃÀ´È·¶¨Ò»¸öÏß³ÌÊÇ·ñÈÔ´¦Ôڻ״̬¡£µ±È»¼´Ê¹´¦Óڻ״̬µÄÏß³ÌÒ²²¢²»Òâζ×ÅÕâ¸öÏß³ÌÒ»¶¨ÕýÔÚÔËÐУ¬¶ÔÓÚÒ»¸öÒÑ¿ªÊ¼ÔËÐе«»¹Ã»ÓÐÍê³ÉÈÎÎñµÄỊ̈߳¬Õâ¸ö·½·¨·µ»ØÖµÎªtrue¡£
......
Java 1.1ÔöÌíÁËÒ»ÖÖÓÐȤµÄÌØÐÔ£¬ÃûΪ¡°¶ÔÏóÐòÁл¯¡±£¨Object Serialization£©¡£ËüÃæÏòÄÇЩʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏ󣬿ɽ«ËüÃÇת»»³ÉһϵÁÐ×Ö½Ú£¬²¢¿ÉÔÚÒÔºóÍêÈ«»Ö¸´»ØÔÀ´µÄÑù×Ó¡£ÕâÒ»¹ý³ÌÒà¿Éͨ¹ýÍøÂç½øÐС£ÕâÒâζ×ÅÐòÁл¯»úÖÆÄÜ×Ô¶¯²¹³¥²Ù×÷ϵͳ¼äµÄ²îÒì¡£»»¾ä»°Ëµ£¬¿ÉÒÔÏÈÔÚWindows»úÆ÷ÉÏ´´½¨Ò»¸ö¶ÔÏó£¬¶ÔÆäÐòÁл¯£ ......