Java????Executor???
???????????? ???????[ 2016/4/25 11:18:54 ] ??????????????????? ???????
????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????????????????
??????

???路???
??????????????????
2023/3/23 14:23:39???写?貌??????????
2023/3/22 16:17:39????????????????????些??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???路???????路
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11