JavaÏß³Ì×ܽᣨÉÏ£©

·¢±íÓÚ£º2010-8-25 09:49

×ÖÌ壺´ó ÖРС | ÉÏһƪ | ÏÂһƪ | ÎÒҪͶ¸å

 ×÷ÕߣºÎ´Öª    À´Ô´£º51TestingÈí¼þ²âÊÔÍø²É±à

·ÖÏí£º

¡¡¡¡2.¿ÉÔËÐÐ״̬

¡¡¡¡Ê¹ÓÃstart()·½·¨Æô¶¯Ò»¸öÏ̺߳ó£¬ÏµÍ³Îª¸ÃÏ̷߳ÖÅäÁ˳ýCPUÍâµÄËùÐè×ÊÔ´£¬Ê¹¸ÃÏ̴߳¦ÓÚ¿ÉÔËÐÐ״̬(Runnable)

¡¡¡¡3.ÔËÐÐÖÐ״̬

¡¡¡¡JavaÔËÐÐϵͳͨ¹ýµ÷¶ÈÑ¡ÖÐÒ»¸öRunnableµÄỊ̈߳¬Ê¹ÆäÕ¼ÓÐCPU²¢×ªÎªÔËÐÐÖÐ״̬(Running)¡£´Ëʱ£¬ÏµÍ³ÕæÕýÖ´ÐÐÏ̵߳Ärun()·½·¨¡£

¡¡¡¡4.×èÈû״̬

¡¡¡¡Ò»¸öÕýÔÚÔËÐеÄÏß³ÌÒòijÖÖÔ­Òò²»ÄܼÌÐøÔËÐÐʱ£¬½øÈë×èÈû״̬(Blocked)

¡¡¡¡5.ËÀÍö״̬

¡¡¡¡Ï߳̽áÊøºóÊÇËÀÍö״̬(Dead)

¡¡¡¡Í¬Ò»Ê±¿ÌÈç¹ûÓжà¸öÏ̴߳¦ÓÚ¿ÉÔËÐÐ״̬£¬ÔòËûÃÇÐèÒªÅŶӵȴýCPU×ÊÔ´¡£´Ëʱÿ¸öÏß³Ì×Ô¶¯»ñµÃÒ»¸öÏ̵߳ÄÓÅÏȼ¶(priority)£¬ÓÅÏȼ¶µÄ¸ßµÍ·´Ó³Ï̵߳ÄÖØÒª»ò½ô¼±³Ì¶È¡£¿ÉÔËÐÐ״̬µÄḬ̈߳´ÓÅÏȼ¶ÅŶӣ¬Ï̵߳÷¶ÈÒÀ¾ÝÓÅÏȼ¶»ù´¡ÉϵÄ"Ïȵ½ÏÈ·þÎñ"Ô­Ôò¡£

¡¡¡¡Ï̵߳÷¶È¹ÜÀíÆ÷¸ºÔðÏß³ÌÅŶӺÍCPUÔÚÏ̼߳äµÄ·ÖÅ䣬²¢ÓÉÏ̵߳÷¶ÈËã·¨½øÐе÷¶È¡£µ±Ï̵߳÷¶È¹ÜÀíÆ÷Ñ¡ÖÖij¸öÏß³Ìʱ£¬¸ÃÏ̻߳ñµÃCPU×ÊÔ´¶ø½øÈëÔËÐÐ״̬¡£

¡¡¡¡Ï̵߳÷¶ÈÊÇÏÈռʽµ÷¶È£¬¼´Èç¹ûÔÚµ±Ç°Ïß³ÌÖ´Ðйý³ÌÖÐÒ»¸ö¸ü¸ßÓÅÏȼ¶µÄÏ߳̽øÈë¿ÉÔËÐÐ״̬£¬ÔòÕâ¸öÏß³ÌÁ¢¼´±»µ÷¶ÈÖ´ÐС£ÏÈռʽµ÷¶È·ÖΪ£º¶ÀռʽºÍ·Öʱ·½Ê½¡£

¡¡¡¡¶ÀÕ¼·½Ê½Ï£¬µ±Ç°Ö´ÐÐÏ߳̽«Ò»Ö±Ö´ÐÐÏÂÈ¥£¬Ö±µ½Ö´ÐÐÍê±Ï»òÓÉÓÚijÖÖÔ­ÒòÖ÷¶¯·ÅÆúCPU£¬»òCPU±»Ò»¸ö¸ü¸ßÓÅÏȼ¶µÄÏß³ÌÇÀÕ¼

¡¡¡¡·Öʱ·½Ê½Ï£¬µ±Ç°ÔËÐÐÏ̻߳ñµÃÒ»¸öʱ¼äƬ£¬Ê±¼äµ½Ê±£¬¼´Ê¹Ã»ÓÐÖ´ÐÐÍêÒ²ÒªÈóöCPU£¬½øÈë¿ÉÔËÐÐ״̬£¬µÈ´ýÏÂÒ»¸öʱ¼äƬµÄµ÷¶È¡£ÏµÍ³Ñ¡ÖÐÆäËû¿ÉÔËÐÐ״̬µÄÏß³ÌÖ´ÐÐ

¡¡¡¡·Öʱ·½Ê½µÄϵͳʹÿ¸öÏ̹߳¤×÷Èô¸É²½£¬ÊµÏÖ¶àÏß³ÌͬʱÔËÐÐ

¡¡¡¡ÁíÍâÇë×¢ÒâÏÂÃæµÄÏ̵߳÷¶È¹æÔò£¨Èç¹ûÓв»Àí½â£¬²»¼±£¬ÍùÏ¿´£©£º

¡¡¡¡¢ÙÈç¹ûÁ½¸ö»òÊÇÁ½¸öÒÔÉϵÄÏ̶߳¼ÐÞ¸ÄÒ»¸ö¶ÔÏó£¬ÄÇô°ÑÖ´ÐÐÐ޸ĵķ½·¨¶¨ÒåΪ±»Í¬²½µÄ£¨Synchronized£©£¬Èç¹û¶ÔÏó¸üÐÂÓ°Ïìµ½Ö»¶Á·½·¨£¬ÄÇôֻ¶È·½·¨Ò²Ó¦¸Ã¶¨ÒåΪͬ²½µÄ

¡¡¡¡¢ÚÈç¹ûÒ»¸öÏ̱߳ØÐëµÈ´ýÒ»¸ö¶ÔÏó״̬·¢Éú±ä»¯£¬ÄÇôËüÓ¦¸ÃÔÚ¶ÔÏóÄÚ²¿µÈ´ý£¬¶ø²»ÊÇÔÚÍⲿµÈ´ý£¬Ëü¿ÉÒÔµ÷ÓÃÒ»¸ö±»Í¬²½µÄ·½·¨£¬²¢ÈÃÕâ¸ö·½·¨µ÷ÓÃwait()

¡¡¡¡¢Ûÿµ±Ò»¸ö·½·¨¸Ä±äij¸ö¶ÔÏóµÄ״̬µÄʱºò£¬ËüÓ¦¸Ãµ÷ÓÃnotifyAll()·½·¨£¬Õâ¸øµÈ´ý¶ÓÁеÄÏß³ÌÌṩ»ú»áÀ´¿´Ò»¿´Ö´Ðл·¾³ÊÇ·ñÒÑ·¢Éú¸Ä±ä

¡¡¡¡¢Ü¼Çסwait()£¬notify()£¬notifyAll()·½·¨ÊôÓÚObjectÀ࣬¶ø²»ÊÇThreadÀ࣬×Ðϸ¼ì²é¿´ÊÇ·ñÿ´ÎÖ´ÐÐwait()·½·¨¶¼ÓÐÏàÓ¦µÄnotify()»ònotifyAll()·½·¨£¬ÇÒËüÃÇ×÷ÓÃÓëÏàͬµÄ¶ÔÏóÔÚjavaÖÐÿ¸öÀ඼ÓÐÒ»¸öÖ÷Ị̈߳¬ÒªÖ´ÐÐÒ»¸ö³ÌÐò£¬ÄÇôÕâ¸öÀ൱ÖÐÒ»¶¨ÒªÓÐmain·½·¨£¬Õâ¸öman·½·¨Ò²¾ÍÊÇjava classÖеÄÖ÷Ï̡߳£Äã¿ÉÒÔ×Ô¼º´´½¨Ị̈߳¬ÓÐÁ½ÖÖ·½·¨£¬Ò»ÊǼ̳ÐThreadÀ࣬»òÊÇʵÏÖRunnable½Ó¿Ú¡£Ò»°ãÇé¿öÏ£¬×îºÃ±ÜÃâ¼Ì³Ð£¬ÒòΪjavaÖÐÊǵ¥¸ù¼Ì³Ð£¬Èç¹ûÄãÑ¡Óü̳У¬ÄÇôÄãµÄÀà¾ÍʧȥÁ˵¯ÐÔ£¬µ±È»Ò²²»ÄÜÈ«È»·ñ¶¨¼Ì³ÐThread£¬¸Ã·½·¨±àд¼òµ¥£¬¿ÉÒÔÖ±½Ó²Ù×÷Ị̈߳¬ÊÊÓÃÓÚµ¥Öؼ̳ÐÇé¿ö¡£ÖÁÓÚÑ¡ÓÃÄÇÒ»ÖÖ£¬¾ßÌåÇé¿ö¾ßÌå·ÖÎö¡£

¡¡¡¡eg.¼Ì³ÐThread

public class MyThread_1 extends Thread
{
public void run()
{
//some code
}
}

42/4<1234>
¼ÛÖµ398ÔªµÄ²âÊԿγÌÃâ·ÑÔùËÍ£¬ÌîÎʾíÁìÈ¡°É£¡

¹Ø×¢51Testing

ÁªÏµÎÒÃÇ

¿ì½ÝÃæ°å Õ¾µãµØͼ ÁªÏµÎÒÃÇ ¹ã¸æ·þÎñ ¹ØÓÚÎÒÃÇ Õ¾³¤Í³¼Æ

·¨ÂɹËÎÊ£ºÉϺ£äîϪÂÉʦÊÂÎñËù ÏîÆåÂÉʦ
°æȨËùÓÐ ÉϺ£²©Îª·åÈí¼þ¼¼Êõ¹É·ÝÓÐÏÞ¹«Ë¾ Copyright©51testing.com 2003-2022
ͶËß¼°Òâ¼û·´À¡£ºwebmaster@51testing.com; ÒµÎñÁªÏµ£ºservice@51testing.com 021-64471599-8017

»¦ICP±¸05003035ºÅ

»¦¹«Íø°²±¸ 31010102002173ºÅ