Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

javaÖÐyield(),sleep()ÒÔ¼°wait()µÄÇø±ð

 ÍùÍù»ìÏýÁËÕâÈý¸öº¯ÊýµÄʹÓá£
´Ó²Ù×÷ϵͳµÄ½Ç¶È½²£¬os»áά»¤Ò»¸öready queue£¨¾ÍÐ÷µÄÏ̶߳ÓÁУ©¡£²¢ÇÒÔÚijһʱ¿ÌcpuֻΪready queueÖÐλÓÚ¶ÓÁÐÍ·²¿µÄÏ̷߳þÎñ¡£
µ«Êǵ±Ç°ÕýÔÚ±»·þÎñµÄÏ߳̿ÉÄܾõµÃcpuµÄ·þÎñÖÊÁ¿²»¹»ºÃ£¬ÓÚÊÇÌáǰÍ˳ö£¬Õâ¾ÍÊÇyield¡£
»òÕßµ±Ç°ÕýÔÚ±»·þÎñµÄÏß³ÌÐèҪ˯һ»á£¬ÐÑÀ´ºó¼ÌÐø±»·þÎñ£¬Õâ¾ÍÊÇsleep¡£
sleep·½·¨²»ÍƼöʹÓ㬿ÉÓÃwait¡£
Ïß³ÌÍ˳ö×îºÃ×Ô¼ºÊµÏÖ£¬ÔÚÔËÐÐ״̬ÖÐÒ»Ö±¼ìÑéÒ»¸ö״̬£¬Èç¹ûÕâ¸ö×´Ì¬ÎªÕæ£¬¾ÍÒ»Ö±ÔËÐУ¬Èç¹ûÍâ½ç¸ü¸ÄÁËÕâ¸ö״̬±äÁ¿£¬ÄÇôÏ߳̾ÍÍ£Ö¹ÔËÐС£
sleep()ʹµ±Ç°Ï߳̽øÈëÍ£ÖÍ״̬£¬ËùÒÔÖ´ÐÐsleep()µÄÏß³ÌÔÚÖ¸¶¨µÄʱ¼äÄڿ϶¨²»»áÖ´ÐУ»yield()Ö»ÊÇʹµ±Ç°Ïß³ÌÖØÐ»ص½¿ÉÖ´ÐÐ״̬£¬ËùÒÔÖ´ÐÐyield()µÄÏß³ÌÓпÉÄÜÔÚ½øÈëµ½¿ÉÖ´ÐÐ״̬ºóÂíÉÏÓÖ±»Ö´ÐС£
sleep()¿ÉʹÓÅÏȼ¶µÍµÄÏ̵߳õ½Ö´ÐеĻú»á£¬µ±È»Ò²¿ÉÒÔÈÃͬÓÅÏȼ¶ºÍ¸ßÓÅÏȼ¶µÄÏß³ÌÓÐÖ´ÐеĻú»á£»yield()Ö»ÄÜʹͬÓÅÏȼ¶µÄÏß³ÌÓÐÖ´ÐеĻú»á¡£
µ±µ÷ÓÃwait()ºó£¬Ï̻߳áÊͷŵôËüËùÕ¼ÓÐµÄ“Ëø±êÖ¾”£¬´Ó¶øÊ¹Ïß³ÌËùÔÚ¶ÔÏóÖÐµÄÆäËüsynchronizedÊý¾Ý¿É±»±ðµÄÏß³ÌʹÓá£
waite()ºÍnotify()ÒòΪ»á¶Ô¶ÔÏóµÄ“Ëø±êÖ¾”½øÐвÙ×÷£¬ËùÒÔËüÃDZØÐëÔÚsynchronizedº¯Êý»òsynchronized¡¡blockÖнøÐе÷Óá£Èç¹ûÔÚnon-synchronizedº¯Êý»ònon-synchronized¡¡blockÖнøÐе÷Óã¬ËäÈ»ÄܱàÒëͨ¹ý£¬µ«ÔÚÔËÐÐʱ»á·¢ÉúIllegalMonitorStateExceptionµÄÒì³£¡£
 
³¹µ×Ã÷°×¶àÏß³ÌͨÐÅ»úÖÆ£º
  Ï̼߳äµÄͨÐÅ
1.    Ï̵߳ļ¸ÖÖ״̬
Ïß³ÌÓÐËÄÖÖ״̬£¬ÈκÎÒ»¸öÏ߳̿϶¨´¦ÓÚÕâËÄÖÖ״̬ÖеÄÒ»ÖÖ£º
1)    ²úÉú£¨New£©£ºÏ̶߳ÔÏóÒѾ­²úÉú£¬µ«ÉÐδ±»Æô¶¯£¬ËùÒÔÎÞ·¨Ö´ÐС£Èçͨ¹ýnew²úÉúÁËÒ»¸öÏ̶߳ÔÏóºóû¶ÔËüµ÷ÓÃstart()º¯Êý֮ǰ¡£
2)    ¿ÉÖ´ÐУ¨Runnable£©£ºÃ¿¸öÖ§³Ö¶àÏ̵߳Äϵͳ¶¼ÓÐÒ»¸öÅÅ³ÌÆ÷£¬ÅÅ³ÌÆ÷»á´ÓÏ̳߳ØÖÐÑ¡ÔñÒ»¸öÏ̲߳¢Æô¶¯Ëü¡£µ±Ò»¸öÏ̴߳¦ÓÚ¿ÉÖ´ÐÐ״̬ʱ£¬±íʾËü¿ÉÄÜÕý´¦ÓÚÏ̳߳ØÖеȴýÅÅÅÅ³ÌÆ÷Æô¶¯Ëü£»Ò²¿ÉÄÜËüÒÑÕýÔÚÖ´ÐС£ÈçÖ´ÐÐÁËÒ»¸öÏ̶߳ÔÏóµÄstart()·½·¨ºó£¬Ï߳̾ʹ¦ÓÚ¿ÉÖ´ÐÐ״̬£¬µ«ÏÔ¶øÒ×¼ûµÄÊÇ´ËʱÏ̲߳»Ò»¶¨ÕýÔÚÖ´ÐÐÖС£
3)    ËÀÍö£¨Dead£©£ºµ±Ò»¸öÏß³ÌÕý³£½áÊø£¬Ëü±ã´¦ÓÚËÀÍö״̬¡£ÈçÒ»¸öÏ̵߳Ärun()º¯ÊýÖ´ÐÐÍê±ÏºóÏ߳̾ͽøÈëËÀÍö״̬¡£
4)    Í£ÖÍ£¨Blocked£©£ºµ±Ò»¸öÏ̴߳¦ÓÚÍ£ÖÍ״̬ʱ£¬ÏµÍ³ÅÅ³ÌÆ÷


Ïà¹ØÎĵµ£º

java¶ÓÁÐ

 ¶ÓÁÐÊÇÉè¼Æ³ÌÐòÖг£ÓõÄÒ»ÖÖÊý¾Ý½á¹¹¡£ËüÀàËÆÈÕ³£Éú»îÖеÄÅŶÓÏÖÏ󣬲ÉÓÃÒ»ÖÖ±»³ÆÎª
“ÏȽøÏȳö”(FIFO)µÄ´æ´¢½á¹¹¡£Êý¾ÝÔªËØÖ»ÄÜ´Ó¶Óβ½øÈ룬´Ó¶ÓÊ×È¡³ö¡£ÔÚ¶ÓÁÐÖУ¬
Êý¾ÝÔªËØ¿ÉÒÔÈÎÒâÔö¼õ£¬µ«Êý¾ÝÔªËØµÄ´ÎÐò²»»á¸Ä±ä¡£Ã¿µ±ÓÐÊý¾ÝÔªËØ´Ó¶ÓÁÐÖб»È¡³ö£¬
ºóÃæµÄÊý¾ÝÔªËØÒÀ´ÎÏòÇ°ÒÆ¶¯Ò»Î»¡£ËùÒÔ£¬ÈκÎʱºò ......

Java¹ú¼Ê»¯——×ÊÔ´°üµÄʹÓÃ

 
±¾ÎÄÊÇÓÉJRÖ÷³Öд×÷µÄ¡¶J2SE½ø½×¡·Ò»ÊéµÄ²¿·ÖÕ½ÚÕûÀí¶ø³É£¬¡¶J2SE½ø½×¡·ÕýÔÚд×÷¡¢ÍêÉÆ½×¶Î¡£ÄúÔĶÁºó£¬ÓÐÈκν¨Òé¡¢ÅúÆÀ£¬ÇëºÍÎÒÁªÏµ£¬»òÔÚhttp://www.javaresearch.org/forum/thread.jsp?column=376&thread=7576' target='_blank' class='l2'>Õâ¶ùÁôÑÔ¡£¡¶J2SE½ø½×¡·Ð´×÷ÏîÄ¿×é¸ÐлÄúÔĶÁ±¾ÎÄ¡£
ÔÚµ±½ñÕ ......

Java ÀíÂÛÓëʵ¼ù: Ï̳߳ØÓ빤×÷¶ÓÁÐ

 
ÌùÔÚÎÒÃǶàÏß³Ì Java ±à³ÌÂÛ̳ÉÏ×î³£¼ûµÄÎÊÌâÖ®Ò»ÊÇ“ÔõÑù´´½¨Ï̳߳أ¿”¡£¼¸ºõÔÚÿ¸ö·þÎñÆ÷Ó¦ÓóÌÐòÖж¼»á³öÏÖÏ̳߳غ͹¤×÷¶ÓÁÐÎÊÌâ¡£±¾ÎÄÖУ¬Brian Goetz ̽ÌÖÁËÏ̳߳ص͝»ú¡¢Ò»Ð©»ù±¾ÊµÏֺ͵÷Óż¼ÊõÒÔ¼°Ò»Ð©Òª±ÜÃâµÄ³£¼ûΣÏÕ¡£
ΪʲôҪÓÃÏ̳߳أ¿
ÖîÈç Web
·þÎñÆ÷¡¢Êý¾Ý¿â·þÎñÆ÷¡¢Îļþ·þÎñÆ÷»òÓÊ ......

java¼ì²âQQÊÇ·ñÔÚÏß

 package mylib.webxml;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
 *
 * @author jmp esp
 * @version 1.0
 *
&nbs ......

JAVAµ÷ÓÃCPP

 2009-11-23
Ö§³Ö³£¼ûµÄÊý¾ÝÀàÐ͵ÄÓ³Éä               Java ÀàÐÍ                       C ÀàÐÍ    & ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ