Saturday, 10 June 2017

Java Tutorial: Java Threads (Thread pool in java | Java thread pool | Java thread pool tutorial_V2) ~ foundjava


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) 
ThreadPoolTest.java
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();
            }
        }
    }
}
Output
pool-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
Click the below link to download the code:

CLICK HERE

No comments:

Post a Comment