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

javaÏ̳߳ØThreadPoolExecut

JDK1.5ÖеÄÏ̳߳Ø(java.util.concurrent.ThreadPoolExecut
6
ÍÆ¼ö
ÔÚ¶àÏ̴߳óʦDoug LeaµÄ¹±Ï×Ï£¬ÔÚJDK1.5ÖмÓÈëÁËÐí¶à¶Ô²¢·¢ÌØÐÔµÄÖ§³Ö£¬ÀýÈ磺Ï̳߳ء£
Ò»¡¢¼ò½é
Ï̳߳ØÀàΪ java.util.concurrent.ThreadPoolExecutor£¬³£Óù¹Ôì·½·¨Îª£º
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
long keepAliveTime, TimeUnit unit,
BlockingQueue<Runnable> workQueue,
RejectedExecutionHandler handler)
corePoolSize£º Ï̳߳ØÎ¬»¤Ï̵߳Ä×îÉÙÊýÁ¿
maximumPoolSize£ºÏ̳߳ØÎ¬»¤Ï̵߳Ä×î´óÊýÁ¿
keepAliveTime£º Ï̳߳ØÎ¬»¤Ïß³ÌËùÔÊÐíµÄ¿ÕÏÐʱ¼ä
unit£º Ï̳߳ØÎ¬»¤Ïß³ÌËùÔÊÐíµÄ¿ÕÏÐʱ¼äµÄµ¥Î»
workQueue£º Ï̳߳ØËùʹÓõĻº³å¶ÓÁÐ
handler£º Ï̳߳ضԾܾøÈÎÎñµÄ´¦Àí²ßÂÔ
Ò»¸öÈÎÎñͨ¹ý execute(Runnable)·½·¨±»Ìí¼Óµ½Ï̳߳أ¬ÈÎÎñ¾ÍÊÇÒ»¸ö RunnableÀàÐ͵ĶÔÏó£¬ÈÎÎñµÄÖ´Ðз½·¨¾ÍÊÇ RunnableÀàÐͶÔÏóµÄrun()·½·¨¡£
µ±Ò»¸öÈÎÎñͨ¹ýexecute(Runnable)·½·¨ÓûÌí¼Óµ½Ï̳߳ØÊ±£º
Èç¹û´ËʱÏ̳߳ØÖеÄÊýÁ¿Ð¡ÓÚcorePoolSize£¬¼´Ê¹Ï̳߳ØÖеÄÏ̶߳¼´¦ÓÚ¿ÕÏÐ״̬£¬Ò²Òª´´½¨ÐµÄÏß³ÌÀ´´¦Àí±»Ìí¼ÓµÄÈÎÎñ¡£
Èç¹û´ËʱÏ̳߳ØÖеÄÊýÁ¿µÈÓÚ corePoolSize£¬µ«ÊÇ»º³å¶ÓÁÐ workQueueδÂú£¬ÄÇôÈÎÎñ±»·ÅÈ뻺³å¶ÓÁС£
Èç¹û´ËʱÏ̳߳ØÖеÄÊýÁ¿´óÓÚcorePoolSize£¬»º³å¶ÓÁÐworkQueueÂú£¬²¢ÇÒÏ̳߳ØÖеÄÊýÁ¿Ð¡ÓÚmaximumPoolSize£¬½¨ÐµÄÏß³ÌÀ´´¦Àí±»Ìí¼ÓµÄÈÎÎñ¡£
Èç¹û´ËʱÏ̳߳ØÖеÄÊýÁ¿´óÓÚcorePoolSize£¬»º³å¶ÓÁÐworkQueueÂú£¬²¢ÇÒÏ̳߳ØÖеÄÊýÁ¿µÈÓÚmaximumPoolSize£¬ÄÇôͨ¹ý handlerËùÖ¸¶¨µÄ²ßÂÔÀ´´¦Àí´ËÈÎÎñ¡£
Ò²¾ÍÊÇ£º´¦ÀíÈÎÎñµÄÓÅÏȼ¶Îª£º
ºËÐÄÏß³ÌcorePoolSize¡¢ÈÎÎñ¶ÓÁÐworkQueue¡¢×î´óÏß³ÌmaximumPoolSize£¬Èç¹ûÈýÕß¶¼ÂúÁË£¬Ê¹ÓÃhandler´¦Àí±»¾Ü¾øµÄÈÎÎñ¡£
µ±Ï̳߳ØÖеÄÏß³ÌÊýÁ¿´óÓÚ corePoolSizeʱ£¬Èç¹ûijÏ߳̿ÕÏÐʱ¼ä³¬¹ýkeepAliveTime£¬Ï߳̽«±»ÖÕÖ¹¡£ÕâÑù£¬Ï̳߳ؿÉÒÔ¶¯Ì¬µÄµ÷Õû³ØÖеÄÏß³ÌÊý¡£
unit¿ÉÑ¡µÄ²ÎÊýΪjava.util.concurrent.TimeUnitÖеö¾²Ì¬ÊôÐÔ£º
NANOSECONDS¡¢MICROSECONDS¡¢MILLISECONDS¡¢SECONDS¡£
workQueueÎÒ³£ÓõÄÊÇ£ºjava.util.concurrent.ArrayBlockingQueue
handlerÓÐËĸöÑ¡Ôñ£º
ThreadPoolExecutor.AbortPolicy()
Å׳öjava.util.concurrent.RejectedExecutionExceptionÒì³£
ThreadPoolExecutor.CallerRunsPolicy()
ÖØÊÔÌí¼Óµ±Ç°µÄÈÎÎñ£¬Ëû»á×Ô¶¯Öظ´µ÷ÓÃexecute()·½·¨
ThreadPoolExecuto


Ïà¹ØÎĵµ£º

̸ÂÛ Java ÐÔÄÜÓÅ»¯


Java ʹµÃ¸´ÔÓÓ¦ÓõĿª·¢±äµÃÏà¶Ô¼òµ¥£¬ºÁÎÞÒÉÎÊ£¬ËüµÄÕâÖÖÒ×ÓÃÐÔ¶ÔJavaµÄ´ó·¶Î§Á÷Ðй¦²»¿Éû¡£È»¶ø£¬ÕâÖÖÒ×ÓÃÐÔʵ¼ÊÉÏÊÇÒ»°ÑË«Èн£¡£Ò»¸öÉè¼ÆÁ¼ºÃµÄ Java³ÌÐò£¬ÐÔÄܱíÏÖÍùÍù²»ÈçÒ»¸öͬÑùÉè¼ÆÁ¼ºÃµÄC++³ÌÐò¡£ÔÚJava³ÌÐòÖУ¬ÐÔÄÜÎÊÌâµÄ´ó²¿·ÖÔ­Òò²¢²»ÔÚÓÚJavaÓïÑÔ£¬¶øÊÇÔÚÓÚ³ÌÐò±¾Éí¡£Ñø³ÉºÃµÄ´úÂë±àдϰ¹ß·Ç³£ÖØÒª£¬±ÈÈçÕ ......

JAVA AWT ʼþ´¦Àí¼°ÄÚ²¿ÀàµÄʵÏÖ


import java.awt.*;
import java.awt.event.*;
public class TestFrame {
 Frame fm = new Frame();
 public void init(){
  
  fm.setSize(300,300);
  Button btn = new Button("ok");
  
  fm.add(btn);
  btn.addActionListener(ne ......

java½â»ó±Ê¼Ç

½ñÌì³é¿ÕÏÂÁË¡¶java½â»ó¡·Õâ±¾Êé¿´ÁËһϣ¬È·Êµ²»´í£¬Ìá³öÁ˺ܶàÎÒÃÇÆ½Ê±²»»á×¢ÒâµÄСÎÊÌâ¡£ÏëÏëÈç¹û²»×¢Òâ˵²»¶¨»áÒòΪһ¸öBUGÓôÃÆ¸öÒ»Á½ÌìÒ²ÕÒ²»µ½¡£ÒÔÏÂÊÇ×ܽáµÄ±Ê¼Ç£¬±¸Íü~~
1.ÅÐ¶ÏÆæÊý
i % 2 == 1 ÔÚi Ϊ¸ºÊýʱ½á¹ûΪ-1£¬ËùÒÔʹÓÃi % 2 != 0À´Åжϣ»µ±ÓÐÐÔÄÜÒªÇóʱʹÓà (i & 1) != 0¡£
*ÔÚʹÓÃ%ʱһ¶¨Òª¿¼Âǵ ......

java¶¯Ì¬µ÷ÓÃÀà

package tf;
public class TestPack {
public static void main(String [] args)
{
try
{
IAnimal cAnimal = new bird();
cAnimal.shout();
IAnimal animal =(IAnimal)java.lang.Class ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ