[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/rafiulgits/HelloJava/master/threading/ThreadReusing.java [Back]  [Original]

package com.basic.threading;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
 *
 * @author rafiul
 * @see Generally A Thread will dead after a single Execution 
 * 
 * When we have to do n different operation with m different Thread
 * where n > m and m >=1, then we need something that will use a single
 * thread multiple times for complete all n operations. 
 * This concept is Thread Pool.
 * Where we use a single thread multiple times
 */
class ThreadRunner implements Runnable{
    public void run(){
        String name = Thread.currentThread().getName();
        System.out.printf("%s is starting...\n",name);
        System.out.printf("%s is loading 50%%...\n",name);
        System.out.printf("complete\n");
    }
}
public class ThreadReusing {
    public static void main(String[] args) {
        
        /** Creating a Runnable object for create a Thread.
         *  We will use this single Runnable object for different
         *  thread in Executor
        */
        ThreadRunner runner = new ThreadRunner();
        
        /** Here I have total 4 operation and a single Thread
         *  So my thread pool use this single in thread for 4 different
         *  operations and then the thread will dead.
         *  Here this single thread will run 4 time before dead.
        */
        
        /** After Completed all operations must shutdown the executor **/
        
        ExecutorService singleServer = Executors.newSingleThreadExecutor();
        for(int i=0; i

Web Proxy Viewer  |  New URL  |  Original Page