JavaÏß³ÌÖ®Worker Thread Pattern
Worker Thread PatternµÄ²ÎÓëÕߣº
1. Client£¨Î¯ÍÐÈË£©²ÎÓëÕß
Client²ÎÓëÕ߻ὨÁ¢Request²ÎÓëÕߣ¬²¢´«¸øChannel²ÎÓëÕß¡£
2. Channel£¨Í¨Â·£©²ÎÓëÕß
Channel²ÎÓëÕß»á´ÓClient²ÎÓëÕß»ñÈ¡Request²ÎÓëÕߣ¬´«µÝ¸øWorker²ÎÓëÕß¡£
3. Worker£¨¹¤ÈË£©²ÎÓëÕß
Worker²ÎÓëÕß»á´ÓChannel²ÎÓëÕß»ñÈ¡Request²ÎÓëÕߣ¬²¢Ö´ÐÐÕâ·Ý¹¤×÷¡£µ±¹¤×÷½áÊøÖ®ºó£¬»áÈ¥ÄÃÏÂÒ»¸öRequest²ÎÓëÕß¡£
4. Request£¨ÇëÇ󣩲ÎÓëÕß
Reqeust²ÎÓëÕßÓÃÀ´±íʾ¹¤×÷¡£Request²ÎÓëÕß»á´æ·ÅÖ´ÐÐÕâ·Ý¹¤×÷ËùÐèÒªµÄÊý¾Ý¡£
---------------------------------------------
¿ØÖƳÐÔØÁ¿£º
Worker²ÎÓëÕßµÄÊýÁ¿ÊÇ¿ÉÒÔ×ÔÓÉÉèÖõġ£Ìá¸ßWorker²ÎÓëÕßµÄÊýÁ¿£¬¿ÉÒÔÌá¸ß²¢·¢´¦ÀíµÄ¹¤×÷Á¿¡£µ«ÊÇÈç¹û×¼±¸µÄWorker²ÎÓëÕßÊýÁ¿±Èͬʱ¼äµÄ¹¤×÷Á¿À´µÄ¶à£¬ÓÐЩWorker²ÎÓëÕßÒ²Åɲ»ÉÏÓ󡣬û»î¸É£¬»¹»áÕ¼ÓÃÄÚ´æ¡£ËùÒÔÓбØÒªÅäºÏʵ¼ÊÈí¼þʹÓõÄÐèÒªÀ´µ÷ÕûWorker²ÎÓëÕßµÄÊýÁ¿¡£
---------------------------------------------
InvocationÓëexecutionµÄ·ÖÀ룺
Client²ÎÓëÕ߻ᷢ³ö¹¤×÷ÇëÇ󣬹¤×÷µÄÄÚÈÝÒÔRequestµÄÐÎʽ°ü×°ÆðÀ´£¬´«µÝ¸öChannel²ÎÓëÕß¡£Õâ¸ö¹ý³Ì£¬¶ÔÓ¦ÓÚÆÕͨµÄ·½·¨µ÷ÓÃÀ´Ëµ£¬¾ÍÏ൱ÓÚ“ÆÀ¹À×Ô±äÁ¿£¬Æô¶¯·½·¨”µÄ²Ù×÷¡£
ÁíÒ»·½Ã棬Worker²ÎÓëÕß»áʹÓôÓChannel²ÎÓëÕßÄÃÀ´µÄRequest²ÎÓëÕߣ¬½øÐÐʵ¼ÊµÄ²Ù×÷¡£Õâ¸ö¹ý³Ì£¬¶ÔÓ¦ÓÚÆÕͨµÄ·½·¨µ÷ÓÃÀ´Ëµ£¬¿ÉÒÔ¶ÔÓ¦µ½“Ö´Ðз½·¨”µÄ²¿·Ö¡£
ÆÕͨµÄ·½·¨µ÷ÓõIJÙ×÷£¬“Æô¶¯·½·¨”ºÍ“Ö´Ðз½·¨”ÊÇÁ¬Ðø½øÐеġ£µ±Ò»¸ö·½·¨Ò»¾µ÷Ó㬾ͻáÂíÉϼÌÐøÖ´ÐУ¬Æô¶¯ºÍÖ´ÐÐÊÇÃܲ»¿É·ÖµÄ¡£
ÔÚWorker Thread PatternÖУ¬ÊµÏÖÁË“Æô¶¯·½·¨”ºÍ“Ö´Ðз½·¨”µÄ·ÖÀë¡£ÕâÑùµÄºÃ´¦ÓУº
1. Ìá¸ßÏìÓ¦ÐÔ¡£
invocation¿ÉÒÔ¼ÌÐø×Ô¼ºÇ°½ø£¬²»Óõȴýexecution£¬ÕâÑùÄÜÌá¸ß³ÌÐòµÄÏìÓ¦ÐÔ¡£
2. ¿ØÖÆÊµÐÐ˳Ðò¡£
invocationºÍexecution·ÖÀ룬executeµÄ˳Ðò¾Í¿ÉÒÔÓëinvokeµÄ´ÎÐòÎ޹أ¬Ò²¾ÍÊÇ˵£¬ÎÒÃÇ¿ÉÒÔ¶ÔRequest²ÎÓëÕßÉèÁ¢ÓÅÏȼ¶£¬¿ØÖÆChannel²ÎÓëÕß´«µÝRequest¸øWorker²ÎÓëÕßµÄ˳Ðò¡£
3. ¿ÉÒÔÈ¡ÏûºÍÖØ¸´Ö´ÐС£
Èç¹ûÄܽ«invocationºÍexecution·ÖÀ룬ÄÇô¾ÍÄÜ×öµ½ÔÚexecute֮ǰ£¬°ÑÒѾinvokeµÄÇëÇóµÄexecutionÈ¡Ïûµô¡£
ͬÑù£¬Ö»Òª°ÑRequest²ÎÓëÕß±£´æÏÂÀ´£¬¾Í¿ÉÒÔÖØ¸´Ö´ÐС£
4. ·ÖÉ¢´¦ÀíµÄµÚÒ»²½
ÒòΪinvocationºÍexecution·ÖÀëÁË£¬ËùÒ
Ïà¹ØÎĵµ£º
ÓÐʱºò£¬ÎÒÃÇ¿ÉÄÜÏëÒª¹¹ÔìÒ»¸öºÜ³éÏóµÄ¸¸Àà¶ÔÏó£¬Ëü¿ÉÄܽö½ö´ú±íÒ»¸ö·ÖÀà»ò³éÏó¸ÅÄËüµÄʵÀýûÓÐÈκÎÒâÒ壬Òò´Ë²»Ï£ÍûËüÄܱ»ÊµÀý»¯¡£ÀýÈ磺ÓÐÒ»¸ö¸¸Àà“ Ë®¹û£¨Fruit£©”£¬ËüÓм¸¸ö×ÓÀà“Æ»¹û£¨Apple£©”¡¢“éÙ×Ó£¨Orange£©”¡¢“Ïã½¶£¨Banana£©”µÈ¡£Ë®¹ûÔÚÕâÀï½ö½öÖ»ÊÇ×÷Ϊһ¸ ......
1. java.lang.nullpointerexception
¡¡¡¡Õâ¸öÒì³£´ó¼Ò¿Ï¶¨¶¼¾³£Óöµ½£¬Òì³£µÄ½âÊÍÊÇ"³ÌÐòÓöÉÏÁË¿ÕÖ¸Õë"£¬¼òµ¥µØËµ¾ÍÊǵ÷ÓÃÁËδ¾³õʼ»¯µÄ¶ÔÏó»òÕßÊDz»´æÔڵĶÔÏó£¬Õâ¸ö´íÎó¾³£³öÏÖÔÚ´´½¨Í¼Æ¬£¬µ÷ÓÃÊý×éÕâЩ²Ù×÷ÖУ¬±ÈÈçͼƬδ¾³õʼ»¯£¬»òÕßͼƬ´´½¨Ê±µÄ·¾¶´íÎóµÈµÈ¡£¶ÔÊý×é²Ù×÷ÖгöÏÖ¿ÕÖ¸Õ룬ºÜ¶àÇé¿öÏÂÊÇһЩ¸Õ¿ªÊ¼Ñ§ ......
1. javaÊÇʲô
JavaÊÇÒ»ÖÖ±à³ÌÓïÑÔ£¬¸ú»ã±à¡¢C¡¢C++Ò»Ñù£¬ÊÇÓÃÓÚÈí¼þ±à³ÌµÄ¿ª·¢ÓïÑÔ¡£
JavaÊÇÒ»ÖÖ¿ª·¢¡¢ÔËÐл·¾³£¬java³ÌÐòµÄ¿ª·¢ÒªÒÀÀµÕâÖÖ»·¾³¡£
2. javaµÄÌØµã
javaÓïÑÔ¾ßÓÐÓëÆ½Ì¨Î޹أ¬ÃæÏò¶ÔÏ󣬽¡×³ÐÔµÄÌØµã
1).ÓëÆ½Ì¨µÄÎÞ¹ØÐÔ
Óëjav ......
ÔÎÄÁ´½Ó£ºhttp://java.csdn.net/index.php/2009/09/01/java%e5%bc%80%e5%8f%91%e8%80%85%e6%9c%80%e5%b8%b8%e5%8e%bb%e7%9a%8420%e4%b8%aa%e8%8b%b1%e6%96%87%e7%bd%91%e7%ab%99/
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨ ......