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