Click here to watch in Youtube :
Click the below Image to Enlarge
![]() |
| Java Tutorial: Java Threads (Thread pool in java | Java thread pool | Java thread pool tutorial_V2) |
![]() |
| Java Tutorial: Java Threads (Thread pool in java | Java thread pool | Java thread pool tutorial_V2) |
![]() |
| Java Tutorial: Java Threads (Thread pool in java | Java thread pool | Java thread pool tutorial_V2) |
![]() |
| Java Tutorial: Java Threads (Thread pool in java | Java thread pool | Java thread pool tutorial_V2) |
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolTest
{
public static void main(String[] args)
{
int numRunnableTask = 4;
int threadPoolSize = 2;
ExecutorService tpes = Executors.newFixedThreadPool(threadPoolSize);
RunnableTask[] runnableTasks = new RunnableTask[numRunnableTask];
for (int i = 0; i < numRunnableTask; i++)
{
runnableTasks[i] = new RunnableTask(i);
tpes.execute(runnableTasks[i]);
}
tpes.shutdown();
}
}
RunnableTask.java/*
* Here is a runnable task. This task performs some work and
* then periodically reports what percent of the work it has
* completed:
*/
public class RunnableTask implements Runnable
{
private int taskNumber;
public RunnableTask(int taskNumber)
{
this.taskNumber = taskNumber;
}
public void run()
{
for (int i = 0; i <= 100; i += 20)
{
// Perform some work ...
System.out.println(Thread.currentThread().getName()
+ " = RunnableTask number: " + taskNumber
+ ", percent complete: " + i);
try
{
Thread.sleep(3000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
Outputpool-1-thread-1 = RunnableTask number: 0, percent complete: 0
pool-1-thread-2 = RunnableTask number: 1, percent complete: 0
pool-1-thread-1 = RunnableTask number: 0, percent complete: 20
pool-1-thread-2 = RunnableTask number: 1, percent complete: 20
pool-1-thread-2 = RunnableTask number: 1, percent complete: 40
pool-1-thread-1 = RunnableTask number: 0, percent complete: 40
pool-1-thread-1 = RunnableTask number: 0, percent complete: 60
pool-1-thread-2 = RunnableTask number: 1, percent complete: 60
pool-1-thread-1 = RunnableTask number: 0, percent complete: 80
pool-1-thread-2 = RunnableTask number: 1, percent complete: 80
pool-1-thread-1 = RunnableTask number: 0, percent complete: 100
pool-1-thread-2 = RunnableTask number: 1, percent complete: 100
pool-1-thread-2 = RunnableTask number: 2, percent complete: 0
pool-1-thread-1 = RunnableTask number: 3, percent complete: 0
pool-1-thread-2 = RunnableTask number: 2, percent complete: 20
pool-1-thread-1 = RunnableTask number: 3, percent complete: 20
pool-1-thread-1 = RunnableTask number: 3, percent complete: 40
pool-1-thread-2 = RunnableTask number: 2, percent complete: 40
pool-1-thread-1 = RunnableTask number: 3, percent complete: 60
pool-1-thread-2 = RunnableTask number: 2, percent complete: 60
pool-1-thread-2 = RunnableTask number: 2, percent complete: 80
pool-1-thread-1 = RunnableTask number: 3, percent complete: 80
pool-1-thread-1 = RunnableTask number: 3, percent complete: 100
pool-1-thread-2 = RunnableTask number: 2, percent complete: 100
Refer: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html





No comments:
Post a Comment