AbortPolicy
- The queue is full, throw an exception RejectedExecutionException
DiscardPolicy
- If the queue is full, discard it without throwing an exception
DiscardOldestPolicy
- Discard the longest surviving task in the queue to make room for new tasks
CallerRunsPolicy
- Back to where it came from, which is to hand the task back to the thread that submitted it
- If the main thread submits a thread, if the queue in the thread pool is full, main will perform the task