java ÖÐsynchronized Ó÷¨
ÄÄλ´óÏÀ¸øÏêϸ½²ÏÂsynchronized Ó÷¨£¿
ÒÔ¼°Óësleep¹ØÏµ£¿
»¹ÓоÍÊÇÏ̵߳÷¶ÈµÄ¹ØÏµ£¿
Ô½ÏêϸԽºÃ¡£
×Ô¼º¿´ÊéÈ¥°¡¡£¡£
synchronizedÊÇÔÚ¶ÔÏóÉϼÓËø£¬µ±ÈÎÎñÖ´Ðе½synchronized¹Ø¼ü×Ö±£»¤µÄ´úÂëµÄʱºò£¬¾ÍÏÈ²é¿´ËøÊÇ·ñ¿ÉÓã¬È»ºó»ñÈ¡ËøÖ´ÐдúÂ룬ÊÍ·ÅËø¡£ÔÚ¶àÏ̵߳ijÌÐòÖÐΪÁ˱£Ö¤¹²Ïíµ¥ÔªµÄḬ̈߳²È«¶ø´æÔڵģ¬Èç¹ûÄã²»ÄÜʹÓÃÔ×ÓÐÔÀ´Ìæ´úÎÞËø´úÂ룬ÄÇô¾ÍÊÇÓÃsynchronizedÀ´±£Ö¤Ïß³Ìͬ²½¡£
synchronizedµÄÓ÷¨£ºÎÒÄÜÏëµ½µÄ¾ÍÊÇÕ⼸µã£¬ËùÓжÔÏ󶼺¬Óе¥Ò»µÄËø£¬ÔڸöÔÏóÉϵ÷ÓÃÈκÎsynchronized·½·¨£¬´Ë¶ÔÏó¶¼±»¼ÓËø£¬ÕâÖÖÇé¿öÏÂÔÚµ÷Óô˶ÔÏóµÄÆäËû·½·¨ÊÇÒª×èÈûµÄ¡£¶þÊÇÔÚÒ»¸ösynchronized·½·¨Àïµ÷ÓÃÆäËûµÄ·½·¨ÊDz»»áÊÍ·ÅËøµÄ£¬µÈµÈ
ÔÚjava se5ÀïÓÐÁËеÄËø»úÖÆ¾ÍÊÇÏÔʾµÄµ÷ÓÃlock¶ÔÏóÀ´ÊµÏÖËø¶¨ºÍÊÍ·Å£¬µ«ÊÇËüÖ»ÔÚÈ¥Òª³¢ÊÔ¼ÓËøµ«ÓпÉÄܼÓËøÊ§°ÜµÄÇé¿öϲÅʹÓã¬Ê¹ÓÃËüµÄTryLock·½·¨£¬´Ë·½·¨»¹¿ÉÒÔÉèÖó¬Ê±£¬³ý´ËÖ®Í⽨ÒéʹÓÃsynchronized£¬ÒòΪʹÓÃËüµÄ´úÂëÁ¿¸üÉÙ£¬¶øÇÒ²»ÈÝÒ׳ö´í¡£
ÔÚjava se5ÀïÓÐÁËеÄsleep°æ±¾£¬ÈçTimeUnit.MILLISECONDS.sleep(1000)¡£Ëü¿ÉÒÔÈÃÏß³ÌÐÝÃßÒ»¶Îʱ¼ä£¬¸öÈËû¾õµÃËüÓësynchronizedÓÐÊ²Ã´ÌØ±ðµÄ¹ØÏµ
Ï̵߳÷¶ÈÊÇcpuµÄÊ£¬Äã¿ÉÒÔÉèÖÃÓÅÏȼ¶£¬»òÕßÔÚÓÅÏȼ¶ÏàͬµÄÏ̼߳äµ÷ÓÃyield()·½·¨À´°ÑcupÈøøÆäËûỊ̈߳¬ÕâЩ¶¼ÊDz»ÑϽ÷µÄ×ö·¨£¬synchronizedÖ»ÊÇÔÚ±£Ö¤Ïß³Ìͬ²½¡£
È¥ google ÉÏÕÒÕÒÓмòÃ÷µÄ½Ì³Ì£¬¿´Á˾ÍÃ÷°×~
synchronizedÊÇͬ²½£¬Ò²¾ÍÊÇÖ»ÓÐÒ»¸öÏ̻߳ñÈ¡¸Ã´úÂë¶ÎµÄʹÓÃȨ£¬Ö±µ½¸ÃÏß³ÌÌø³ö£¬È»ºóÆäËûÏ̲߳ÅÓлú»áÖ´ÐС£
sleep¾ÍÊÇÒªÇó¸ÃÏß³Ì˯Ãߣ¬Í£Ö¹Ö´ÐУ¬µ«²¢²»·ÅÆú¸Ã¶ÔÏóµÄËø£¬Ë¯Ãßʱ¼äºó£¬Ïß³Ì¾Í»á½øÈë¾ÍÐ÷״̬£¬ºÍwaitÊÇÓÐÇø±ðµÄ¡£
public class
Ïà¹ØÎÊ´ð£º
ÎÒÔÚjspÒ³Ãæ´æÉÏÒ»¸ösession,±¾Ò³Ã滹¿ÉÒÔÈ¡³öÖµÀ´.
µ«ÊÇһˢÐÂ,»òÕß´ò¿ªÐµÄÒ³Ãæ¾ÍÈ¡²»³öÖµÀ´ÁË.
Ææ¹ÖµÄÊÇ,ÎÒ²âÊÔÁíÒ»¸ö³ÌÐòʱºò
ÔÚjspÒ³Ãæ´æÉÏÒ»¸ösession,±¾Ò³Ãæ¿ÉÒÔÈ¡³öÖµÀ´,ˢлò´ò¿ªÐÂÒ³ÃæÖµÄÜÈ¡³öÀ´ÁË.
......
ÎÒÏë×ö¹»¹ºÎï³µÓÃsession µ«ÊDz»ÖªµÀÔõô»ñÈ¡¹ºÂòÊýÁ¿ ËÓоßÌåµÄ´úÂëÂð Ï£ÍûÄܸîÉá
ÏÂÃæÊǹºÎï³µµÄºËÐÄ´úÂë
ÓÐÁËÕâ¸ö ¾ÍÓ¦¸ÃÄܹ»×ö³öÀ´°É
Java code:
public void doPost(HttpServletRequest reque ......
ÎÒÔÚeclipseÖÐдÁËÒ»¸ö²¥·ÅÒôÀÖµÄÀ࣬²¢°ÑÒôÀÖÎļþºÍÀàÎļþ·ÅÔÚÁËÒ»Æð£¬½á¹ûÔËÐÐʱ£¬³öÏÖ´íÎó£¬ËµÊÇÒôÀÖÎļþÄǸöÊǿյ쬵«ÊÇÔÚjcreatorÓÃͬÑùµÄ·½·¨½á¹ûÊÇ¿ÉÒÔÔËÐеģ¬ÇëÇó¸ß˵ָ½Ì£¬¸æËßΪʲô£¿¼±
ÄãÈôÊÇÔÚWindo ......
²àÖØÓÚ»¥ÁªÍø¿ª·¢
JAVA¿ª·¢¹¤³Ìʦ
ְλÃèÊö£º
1¡¢°´USECASE½øÐÐÒµÎñÐèÇó·ÖÎöºÍÈí¼þ¸ÅÒªÉè¼Æ£»
2¡¢½øÐÐÈí¼þÏêϸÉè¼ÆºÍ±àÂëʵÏÖ£¬È·±£ÐÔÄÜ¡¢ÖÊÁ¿ºÍ°²È«£»
3¡¢Î¬»¤ºÍÉý¼¶ÏÖÓÐÈí¼þ²úÆ·£¬¿ìËÙ¶¨Î»² ......
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
import java ......