ThreadPoolExecutor.DiscardOldestPolicy in Java
November 15, 2023
1. ThreadPoolExecutor.DiscardOldestPolicy
belongs to java.util.concurrent
package. It is introduced in Java 5. 2.
ThreadPoolExecutor.DiscardOldestPolicy
is the handler for rejected task because of finite bounds of work queue and maximum limit of ThreadPoolExecutor
. 3.
ThreadPoolExecutor.DiscardOldestPolicy
has a method as rejectedExecution(Runnable r, ThreadPoolExecutor e) which accepts a thread and ThreadPoolExecutor
.
ThreadPoolExecutor.DiscardOldestPolicy
is passed as an argument while initializing ThreadPoolExecutor
.
ThreadPoolExecutor tpool= new ThreadPoolExecutor(2,3,500, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadPoolExecutor.DiscardOldestPolicy());
Example
DiscardOldestPolicyDemo.javapackage com.concretepage; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class DiscardOldestPolicyDemo { class DemoThread implements Runnable { public void run() { System.out.println("Hello World"); } } public static void main(String... args) { Runnable th=new DiscardOldestPolicyDemo().new DemoThread(); ThreadPoolExecutor tpool= new ThreadPoolExecutor(2,3,500, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadPoolExecutor.DiscardOldestPolicy()); tpool.execute(th); } }
Hello World