¸ã¶®javaÖеÄsynchronized¹Ø¼ü×Ö
ʵ¼ÊÉÏ£¬ÎÒ¹ØÓÚjavaµÄ»ù´¡ÖªÊ¶µÄ90%ÒÔÉ϶¼À´×ÔThinking in Java¡£¶ÔÓÚÆäÖеÄsynchronized¹Ø¼ü×Ö£¬µ±Ê±¾ÍÊÇä¯ÀÀһϣ¬´ó¸ÅÖªµÀÒâ˼£¬Ò²Ã»ÓÐϸ¿´¡£ºóÀ´Ò»Ö±Ã»ÓÐÓùýÕâ¸ö¹Ø¼ü×Ö¡£×òÌì¿´Thinking in Patterns with JavaÖеÄObserverģʽ£¬¿´ÁËÆäÖеÄObservableÀàµÄÔ´Â룬·¢ÏÖÀïÃæ¼¸ºõËùÓеķ½·¨¶¼ÓÃÁËsynchronized¹Ø¼ü×Ö£¨²»ÊÇÈ«²¿£©£¬ÆäÖиö±ðÓÃÁËsynchronized(this){}µÄÇø¿é¡£ÓÚÊÇ£¬ÎÒ·¢¾õÓбØÒªºÃºÃÀí½âÒ»ÏÂÕâ¸ö¹Ø¼ü×ÖÁË¡£
ÎÒÔٴο´Á˺î½ÝÒëµÄThinking in JavaµÚ¶þ°æÖÐÎİ棬µÃµ½ÓйØsynchronizedµÄÈçÏÂÐÅÏ¢£º
1¡¢synchronized¹Ø¼ü×ÖµÄ×÷ÓÃÓòÓжþÖÖ£º
1£©ÊÇij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄsynchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨£»
2£©ÊÇij¸öÀàµÄ·¶Î§£¬synchronized static aStaticMethod{}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£
2¡¢³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó£»
3¡¢synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized f(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized f(){}£¬¶øÊDZä³ÉÁËf(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·½·¨£»
4¡¢ÒÉÎÊ£º
ÎÒÖªµÀÁËÓÐstaticÇø¿é£¨ÆäÖеļÓÔØÊ±»úºÃÏñÒ²²»Çå³þ£¬ÐèҪѧϰһÏ£¬ÔÀ´¿´Thinking in JavaºÃÏñÊÇ˵: staticÇø¿é¼ÓÔØµÄʱ»úÊÇÀàµÄÒ»¸ö¶ÔÏóʵÀý´´½¨»òÀàµÄÒ»¸östatic·½·¨±»·ÃÎÊ£¬µ«ÊÇÎÒ½ñÌìÔçÉÏ¿´ÁËjavaeye.comÉÏÃæµÄÒ»¸ö¹ØÓÚ“<static¿éµ½µ×ʲôʱºòÖ´ÐУ¿-eway -JavaEye¼¼ÊõÉçÇø>”µÄÎÄÕºóÓÖÓеãÃÔºýÁË£º£©£¬Ò²Ðí£¬ÐèÒªÈÏÕæÑ§Ï°Ò»ÏÂJVMµÄÄÚÔÚ»úÖÆ²ÅÊÇÀí½âÕâÀàÎÊÌâ×î¸ù±¾µÄ;¾¶£©£¬Ò²ÓÐsynchronizedÇø¿é£¬ÄÇô£¬ÓÐsynchronized static Çø¿éÂð£¿Òâ˼ÊÇÎÊ£ºÓÐûÓÐÒ»¸öÀà×÷ÓÃÓòÄÚµÄsynchronizedÇø¿é£¿
½ñÌ죬дÁËÏÂÃæÕâ¸öÀý×ÓÑéÖ¤ÁËÉÏÃæÓÐûÓÐÒ»¸öÀ෶ΧµÄsynchronized »ò synchronized static ¿é£¬½áÂÛÊÇûÓÐÕâÑù
Ïà¹ØÎĵµ£º
×î½ü¸ãÒ»¸öÏîÄ¿ÐèÒª²Ù×÷Excel£¬googleÁËһϣ¬·¢ÏÖÓÐÁ½¸öµÚÈý·½¿ªÔ´Àà¿â£¬·Ö±ðÊÇJexcelºÍPoi¡£´ÖÂԵؿ´ÁËһϣ¬jexcelÄÚÈݲ»ÅӴ󣬾õ×ÅÎÒÖ»ÊÇÓÃһЩ»ù±¾µÄexcel¶Áд¹¦ÄÜ£¬ËüÓ¦¸ÃÄÜÂú×ãÒªÇó¡£ÏÂÃæ¼òÒªµÄ½éÉÜÒ»ÏÂÕâÁ½¸öÀà¿â¡£
jexcel£ºÔÚÓÃjexcelµÄ¹ý³ÌÖз¢ÏÖ¶ÁµÄËÙ ......
ǰһ¶Îʱ¼äÊÔ×ÅÓÃÕâÈýÖÖÓïÑÔ¼òµ¥µÄдÁ˹ØÓÚÎļþ¿½±´µÄ³ÌÐò£¬·¢ÏÖc#ºÍpythonµÄapi¾ªÈ˵ÄÏàËÆ£¬¶ÔÓÚÎļþµÄ²Ù×÷ÕâÁ½ÖÖÓïÑԷdz£µÄ·½±ã¡£¶¼Ã»ÓмÓÒì³£µÄ´¦Àí
C#Ô´´úÂ룺
public static void CopyFile(string source, string destination)
& ......
ÖÚËùÖÜÖª£¬ÔÚ³ÌÐò¿ª·¢ÖУ¬ÄÑÃâ»áÓöµ½ÐèҪƥÅä¡¢²éÕÒ¡¢Ìæ»»¡¢ÅжÏ×Ö·û´®µÄÇé¿ö·¢Éú£¬¶øÕâЩÇé¿öÓÐʱÓֱȽϸ´ÔÓ£¬Èç¹ûÓô¿±àÂ뷽ʽ½â¾ö£¬ÍùÍù»áÀ˷ѳÌÐòÔ±µÄʱ¼ä¼°¾«Á¦¡£Òò´Ë£¬Ñ§Ï°¼°Ê¹ÓÃÕýÔò±í´ïʽ£¬±ã³ÉÁ˽â¾öÕâһì¶ÜµÄÖ÷ÒªÊֶΡ£
´ó¼Ò¶¼ÖªµÀ£¬ÕýÔò±í´ïʽÊÇÒ»ÖÖ¿ÉÒÔÓÃÓÚģʽƥÅäºÍÌæ»»µÄ¹æ·¶£¬Ò»¸öÕýÔò±í´ïʽ¾ÍÊÇÓÉÆÕͨµ ......
javaÖеķ´Éä¾³£±»ÓÃÔÚһЩ¿ò¼Ü´î½¨ÉÏ£¬ËûÄܹ»ÈÃÎÒÃǺܷ½±ãµÄ¶Ô×Ô¼ºÎ´À´½«Ê¹ÓõÄÀ࣬·½·¨ºÍ±äÁ¿½øÐзÃÎÊ¡£¸öÈ˾õµÃÓÐÖֺڿ͵ÄζµÀÔÚÀïÃæ¡£µ±ÎÒÃÇÖªµÀÒ»¸öÀàµÄÀàÃûºó£¬ÎÒÃÇ»ù±¾ÉÏ¿ÉÒÔʹÓ÷´ÉäµÄµ½ËüµÄÒ»ÇС£°üÀ¨ËûµÄprivateµÄ·½·¨ºÍ±äÁ¿µÈ(µ±È»·ÃÎÊËûÃǵÄʹÓÃÐèҪʹÓõÄÊÇgetDeclared***(**))¡£ÁíÍ⣬¾Ý ......
ÔÎÄ £º http://blog.csdn.net/sunboard/archive/2009/01/18/3831823.aspx
Ò»
¸öÈí¼þÉè¼ÆµÄºÃ»µ£¬ÎÒÏëºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚËüµÄÕûÌå¼Ü¹¹£¬¶øÕâ¸öÕûÌå¼Ü¹¹Æäʵ¾ÍÊÇÄã¶ÔÕû¸öºê¹ÛÉÌÒµÒµÎñµÄ³éÏó¿ò¼Ü£¬µ±´ú±íÒµÎñÂß¼µÄ¸ß²ã³éÏó²ã½á¹¹
ºÏÀíʱ£¬Äãµ×²ãµÄ¾ßÌåʵÏÖÐèÒª¿¼Âǵľͽö½öÊÇһЩËã·¨ºÍһЩ¾ßÌåµÄÒµÎñʵÏÖÁË¡£µ±ÄãÐèÒªÔÙ¿ ......