java ÖÐµÄ synchronized
synchronized£º ͬ²½µÄ
synchronizedÔÚ²Ù×÷ÉÏÓÐÁ½ÖÖÓ°Ïì¶ÔÏóµÄÇé¿ö£º
1) ÔÚij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized method(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄsynchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨£»
2) ÔÚij¸öÀàµÄ·¶Î§£¬synchronized static aStaticMethod{}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£
³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó£»
synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized method(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized method(){}£¬¶øÊDZä³ÉÁËmethod(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·½·¨£»
ÎÞÂÛsynchronized¹Ø¼ü×Ö¼ÓÔÚ·½·¨ÉÏ»¹ÊǶÔÏóÉÏ£¬ËûÈ¡µÃµÄËø¶¼ÊǶÔÏóËø£¬¶ø²»ÊǰÑÒ»¶Î´úÂë»òº¯ÊýËø¶¨£¬²»Äܱ»±ðµÄ¶ÔÏó·ÃÎÊ£¬Í¬Ò»¸öÀàÖеÄͬһ¸ö·½·¨»áÔÚ¸ÃÀàµÄ²»Í¬¶ÔÏóÉϱ»ÆäËûÏ̵߳ĶÔÏó·ÃÎÊ¡£
ÿ¸ö¶ÔÏóÖ»ÓÐÒ»°ÑËø£¨lock£©ºÍËüÏà¹ØÁª¡£
ʵÏÖͬ²½ÊÇÒªºÜ´óµÄϵͳ¿ªÏú×÷Ϊ´ú¼ÛµÄ£¬ÉõÖÁ¿ÉÄÜÔì³ÉËÀËø£¬ËùÒÔ¾¡Á¿±ÜÃâÎÞνµÄͬ²½¿ØÖÆ¡£
µ«µ±Ã»ÓÐÃ÷È·µÄ¶ÔÏóÐèÒªËø¶¨£¬Ö»ÊÇÏëÈÃÒ»¶Î´úÂëͬ²½Ê±£¬Äܹ»´´½¨Ò»¸öÌØ±ðµÄinstance±äÁ¿£¨ËûµÃÊǸö¶ÔÏó£©À´³äµ±Ëø£º
class Foo implements Runnable {
private byte[] lock = new byte[0]; // ÌØ±ðµÄinstance±äÁ¿
Public void method() {
synchronized(lock) { //… }
}
//…
}
Á㳤¶ÈµÄbyteÊý×é¶ÔÏó´´½¨ÆðÀ´½«±ÈÈκζÔÏó¶¼¾¼Ã£¬±àÒëºóµÄ×Ö½ÚÂ룺Éú³ÉÁ㳤¶ÈµÄbyte[]¶ÔÏóÖ»Ðè3Ìõ²Ù×÷Â룬¶øObject lock = new Object()ÔòÐèÒª7ÐвÙ×÷Âë¡£
class Foo {
public void method() {
&
Ïà¹ØÎĵµ£º
JavaỊ̈߳ºÏ̵߳Äͬ²½-ͬ²½¿é
¶ÔÓÚͬ²½£¬³ýÁËͬ²½·½·¨Í⣬»¹¿ÉÒÔʹÓÃͬ²½´úÂë¿é£¬ÓÐʱºòͬ²½´úÂë¿é»á´øÀ´±Èͬ²½·½·¨¸üºÃµÄЧ¹û¡£
×·Æäͬ²½µÄ¸ù±¾µÄÄ¿µÄ£¬ÊÇ¿ØÖƾºÕù×ÊÔ´µÄÕýÈ·µÄ·ÃÎÊ£¬Òò´ËÖ»ÒªÔÚ·ÃÎʾºÕù×ÊÔ´µÄʱºò±£Ö¤Í¬Ò»Ê±¿ÌÖ»ÄÜÒ»¸öÏ̷߳ÃÎʼ´¿É£¬Òò´ËJavaÒýÈëÁËͬ²½´úÂë¿ìµÄ²ßÂÔ£¬ÒÔÌá¸ßÐÔÄÜ¡£
&nb ......
JavaỊ̈߳º²¢·¢Ð×÷-ËÀËø
Ï̷߳¢ÉúËÀËø¿ÉÄÜÐÔºÜС£¬¼´Ê¹¿´ËÆ¿ÉÄÜ·¢ÉúËÀËøµÄ´úÂ룬ÔÚÔËÐÐʱ·¢ÉúËÀËøµÄ¿ÉÄÜÐÔÒ²ÊÇС֮ÓÖС¡£
·¢ÉúËÀËøµÄÔÒòÒ»°ãÊÇÁ½¸ö¶ÔÏóµÄËøÏ໥µÈ´ýÔì³ÉµÄ¡£
ÔÚ¡¶JavaỊ̈߳ºÏ̵߳Äͬ²½ÓëËø¡·Ò»ÎÄÖУ¬¼òÊöËÀËøµÄ¸ÅÄîÓë¼òµ¥Àý×Ó£¬µ«ÊÇËù¸øµÄÀý×ÓÊDz»ÍêÕûµÄ£¬ÕâÀï¸ø³öÒ»¸öÍêÕûµÄÀ ......
ÉèÖÃ×¢ÊÍÄ£°åµÄÈë¿Ú£º Window->Preference->Java->Code Style->Code Template È»ºóÕ¹¿ªComments½Úµã¾ÍÊÇËùÓÐÐèÉèÖÃ×¢Ê͵ÄÔªËØÀ²¡£ÏÖ¾Íÿһ¸öÔªËØÖðÒ»½éÉÜ£º
Îļþ(Files)×¢ÊͱêÇ©£º
/**
* @Title: ${file_name}
* @Package ${package_name}
* @Description: ${todo}(ÓÃÒ»¾ä»°ÃèÊö¸ÃÎļ ......
Compositeģʽ(×éºÏ)
JavaÉîÈëµ½Ò»¶¨³Ì¶È,¾Í²»¿É±ÜÃâµÄÅöµ½Éè¼ÆÄ£Ê½ÕâÒ»¸ÅÄî,Á˽âÉè¼ÆÄ£Ê½,½«Ê¹×Ô¼º¶ÔjavaÖеĽӿڻò³éÏóÀàÓ¦ÓÃÓиüÉîµÄÀí½â.Éè¼ÆÄ£Ê½ÔÚjavaµÄÖÐÐÍϵͳÖÐÓ¦Óù㷺,×ñÑÒ»¶¨µÄ±à³Ìģʽ,²ÅÄÜʹ×Ô¼ºµÄ´úÂë±ãÓÚÀí½â,Ò×ÓÚ½»Á÷,Composite(×éºÏģʽ)ģʽÊDZȽϳ£ÓõÄÒ»¸öģʽ.
Composi ......
ת×Ô£º
pconline£ºhttp://www.pconline.com.cn/pcedu/empolder/gj/java/0411/499156.html
ºÃµÄ¶«Î÷ת¹ýÀ´¿´¿´
ÓÉÓÚÍøÂç´ø¿íÓÐÏÞ,ËùÒÔÊý¾ÝÎļþµÄѹËõÓÐÀûÓÚÊý¾ÝÔÚInternetÉϵĿìËÙ´«Êä,ͬʱҲ½ÚÊ¡·þÎñÆ÷µÄÍâ´æ¿Õ¼ä¡£
¡¡¡¡Java 1.1ʵÏÖÁËI/OÊý¾ÝÁ÷ÓëÍøÂçÊý¾ÝÁ÷µÄµ¥Ò»½Ó¿Ú,Òò´ËÊý¾ÝµÄѹËõ¡¢ÍøÂç´«ÊäºÍ½âѹËõµÄʵÏֱȽÏÈÝÒ× ......