ThreadPoolExecutor.DiscardOldestPolicy in Java

By Arvind Rai, 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.java
package 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);
	   }
} 
Output
Hello World 
POSTED BY
ARVIND RAI
ARVIND RAI
LEARN MORE








©2024 concretepage.com | Privacy Policy | Contact Us