????1??Executor?????
??????JDK5????????????????л?????????????????????Runnable??Callable????л?????Executor????
???????ù????Java???????????????????????????????????????????????????????????????Executor?????????????????????????????????????ɡ???????Щ??????????????????
????2??EXecutor?????

????Executor??????????????????????????????з???????
????ThreadPoolExecutor?????????????????б?????????
????ScheduledThreadPoolExecutor????????????????????????л??????????
????Future???????Future????FutureTask???????????????
????Runable????Callable??????????????ThreadPoolExecutor??ScheduledThreadPoolExecutor???
????2.1 ???????
??????1?????????????
???????????Runnable????Callable???????????Runnable??????????Callable?????????
??????????ù?????Executors??Runnable????????Callable
????public static Callable<Object> callable(Runnable task)
????Executors.callable(Runnable task)??Executors.callable(Runnable task??Object result)
????(2)?????????
??????Runnable??????????ExecutorService??У?ExecutorService.execute??Runnable command??; ExecutorService.submit??Runnable task??;ExecutorService.submit(Callable<T> task)????execute??????????????????????????????????ж??????????????г????submit????????????????????????
????(3)?????
??????????ExecutorService.submit(...)??????????????Future???????FutureTask???????????????FutureTask.get()??????????????????????????FutureTask.cancel(boolean mayInterruptIfRunning)????????????С?
????2.2 ?????
????ThreadPoolExecutor??ScheduledThreadPoolExecutor??Future????Runnable????Callable????Executors??
????2.2.1 ???????
????public  ThreadPoolExecutor??int corePoolSize??int maximumPoolSize??long keepAliveTime??TimeUnit unit??BlockingQueue<Runnable> workQueue??ThreadFactory threadFactory??RejectedExecutionHandler handler??
????corePoolSize:??????????С????????????????????????????????????????е???????????????????????????????????е????????????????????С????????????????????prestartAllCoreThread()??????????????????????????л???????
????maximumPoolSize:????????????????????????????????????????????????????????????С???????????????????????????иò?????Ч??
????KeepAliveTime:????????????????????к????????????????????????????????????????????????????
????TimeUnit:???????????λ???????λ??DAYS??HOURS??MINUTES??MILLISECONDS??MICROSECONDS??NANOSECONDS
????BlockingQueue<Runnable>:??????У???????????????????У?ArrayBlockingQueue:????????????н????????У?????FIFO????LinkedBlockingQueue????????????????????У???FIFO??????????????????Executors.newFixedThreadPool()??????С?SysnchronousQueue:??????洢???????????У???????????????????????????????????????????????????????????????????????????Executors.newCachedThreadPool??????????У?PriorityBlockingQueue:?????????????????????????С?
????ThreadFactory:??????????????????????????????????????????????????????????????????á?
????RejectedExecutionHandler???????????????к??????????????????????????????????????AbortPolicy:??????????CallerRunsPolicy???????????????????????????DiscardOldestPolicy:????????????????????????е??????DiscardPolicy????????????????