Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR JAVA

executors java

package pg01.c04;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Main {
	public static void main(String[] args) {
		//ExecutorService executor = Executors.newFixedThreadPool(1); //Creates 1 thread in the pool for executting all
		//ExecutorService executor = Executors.newFixedThreadPool(2); //Creates 2 threads in the pool for executting all
		//ExecutorService executor = Executors.newFixedThreadPool(3); //Creates 3 threads in the pool for executting all
		//ExecutorService executor = Executors.newSingleThreadExecutor(); //Cretaes 1 single thread for the execution
		ExecutorService executor = Executors.newCachedThreadPool(); //Cretaes as many threads as it needs and reuses the ones created 
		//creates the logic threads but it doesn´t mean that its going to use 3 threads in the execution
		Thread hilox = new Thread(new MyThread("X",100, 100));
		Thread hiloO = new Thread(new MyThread("O",100, 100));
		Thread hilo_ = new Thread(new MyThread("_",100, 100));
		//Executes the threads
		executor.execute(hilo_); 
		executor.execute(hiloO);
		executor.execute(hilox);
		// closes the threads because if not they will remain waiting although the execution finished
		executor.shutdown();
		
		

	}
}
public class MyThread implements Runnable{
	private String s;
	private int l;
	private int r;
	public MyThread (String s, int l,int r) {
		this.s= s;
		this.l= l;
		this.r= r;
	}
	public void run() {
		// TODO Auto-generated method stub
		for(int i =0; i<r;i++) {
			System.out.print(s);
			for (int j=0;j<10000;j++) {
				System.out.print("*");
			}
			try {
				Thread.sleep(l);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		System.out.println();
	}
}
 
PREVIOUS NEXT
Tagged: #executors #java
ADD COMMENT
Topic
Name
3+9 =