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£©£ºµ±Ò»¸öÏ̴߳¦ÓÚÍ£ÖÍ״̬ʱ£¬ÏµÍ³ÅųÌÆ÷
Ïà¹ØÎĵµ£º
2009-11-23
Ö§³Ö³£¼ûµÄÊý¾ÝÀàÐ͵ÄÓ³Éä Java ÀàÐÍ C ÀàÐÍ & ......
javaÖпÆѧ¼ÆÊý·¨µÄ½â³ý
Êý¾Ý¹ý´ó»ò½Ó½üÓÚ0£¬java»á×Ô¶¯Ê¹ÓÿÆѧ¼ÆÊý·¨ÏÔʾ
ҪʹµÃÊý¾ÝÒÔÕý³£µÄСÊýÏÔʾ¿ÉʹÓÃDecimalFormatÀࣺ
DecimalFormat format = new DecimalFormat("0.00000");
String value = format.format(doubleInstance);
......
×î½üÔÚCSDN£¬¿´µ½ÁËÒ»µÀȤζÌ⣺123456789Õâ¾Å¸ö°´Ë³ÐòÅÅÁеÄÊý£¬ÒªÇóÔÚËüÃÇÖ®¼ä²åÈëÈô¸É¸ö+£¬-£¬*£¬/ £¬Ê¹Æä½á¹ûÕýºÃµÈÓÚ
100È磺1*2*3*4+5+6+7*8+9=100¡£
¿´ÁËÌâÄ¿ºó£¬Ë¼¿¼Èç¹ûÓÃjavaÈçºÎʵÏÖ¡£ÒÔÏÂÊÇÎҵĽâÌâ˼·£º
˼Ïë±È½Ï¼òµ¥£¬ÏȽ«²åÈë+£¬-£¬*£¬/ºóµÄËùÓÐ×Ö·û´®¶¼Çî¾Ù³öÀ´£¬È»ºó¼ÆËãÄÄЩ×Ö·û´®µÈÓÚ100¡£
Õ ......
Õ⼸ÌìÎÒÈÕÈÕ¿´µ½Êé¿ÍÍøÒÔΪÊÇʲô¶«Î÷£¬ÎÒÈ¥¿´ÁËÒ»ÏÂ×Ó£¬ÔÀ´ÊÇ¿ª·¢ÎļþµÈµÈµÄÏÂÔØ£¬»¹ÒªµÇ¼Ç£¬ÓÐЩ·³£¬ÎÒ°ÑÎÒ¸ÕϵÄjava´úÂë´óÈ«ºÍjava23ÖÖÉè¼Æ·½Ê½¸ø·ÖÏí
Ò²°ÑÍøÕ¾Ìù³öÀ´
ºÇºÇÈÔÊÇÖ§³ÖÒ»ÏÂ×Ó·ÖÏí¾«Á¦
http://www.8211.cn
´ó¼ÒÊÕÒæÁËÎÒ¿É»¹À´Ò»¸ö
Òþ²ØÌû (16)
java´úÂë´óÈ«.pdf (5 MB)
ÏÂÔØ´ÎÊý: 2185 ......
javaʹÓÃMathÀ࣬phpʹÓÃϵͳº¯Êý
ceil¹¦ÄÜ ´óÓÚµÈÓÚijÊý(³£ÓÃÓÚ·ÖÒ³Ò³Êý¼ÆË㣩
phpÖУºceil(a/b)
javaÖУº(int)Math.ceil((double)a/b)) Math.ceilÔÚjavaÖÐÐèÒª´«ÈëdoubleÐÍ£¬¶ø·µ»ØÒ²ÊÇdoubleÐÍ¡£×¢ÒâÕâÀïÓÃ(double)a/b²Å¿ÉÒÔ¡£
a/b,(dobule)(a/b)¶¼²»ÐС£ÒòΪËûÃÇ»áÏÈ×Ô¶¯ÉáÆúСÊýÈ¡µÃÕûÊý
flooe ......