1. Classe Principal
            
package br.aiec.multithread;

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

/**
* Essa classe apenas cria um pool (conjunto) de threads por 
* meio da classe "Executors" e então cria três objetos do tipo 
* "ImprimeTarefa" que serão executados 
* concorrentemente/paralelamente pelas threads (uma para cada tarefa)
* presentes no pool.
* 
*  
*
*/

public class Principal {
  public static void main(String[] args) {
      
      Runnable tarefa1 = new ImprimeTarefa("thread1");
      Runnable tarefa2 = new ImprimeTarefa("thread2");
      Runnable tarefa3 = new ImprimeTarefa("thread3");

      ExecutorService pool = Executors.newCachedThreadPool();

      System.out.println("Iniciando as threads secundárias");
      pool.execute(tarefa1);
      pool.execute(tarefa2);
      pool.execute(tarefa3);

      pool.shutdown();

      System.out.println("Threads secundárias iniciadas.");
      System.out.println("Thread principal terminando!");
  }
}
                  
                  
Copyright © 2016 AIEC.