AbstractExcutorService
DiscardPolicy
ThreadFactory
+newThread(Runnable r):Thread
DiscardOldestPolicy
ThreadPoolExcutor
- workers:HashSet<Worker> -corePoolSize:int-maximumPoolSize:int-workQueue:BlockingQueue<Runnable> -keepAliveTime:long-threadFactory:ThreadFactory-handler:RejectedExecutionHandler
<<interface>>Excutor
AbortPolicy
worker
thread:ThreadfirstTask:Runnable
Runnable
+ run():void
CallerRunsPolicy
<<interface>>ExcutorService
Excutors
+ newCachedThreadPool()():ExecutorService+newFixedThreadPool(int nThreads):ExecutorService+newSingleThreadExecutor():ExecutorService...
DefaultThreadFactory
<<interface>>RejectedExecutionHandler
AQS