ExecutorService: execute(Runnable command) : ExecutorService « java.util.concurrent « Java by API






ExecutorService: execute(Runnable command)

 

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

public class Main {
  public static void main(String[] args) {
    PrintTask task1 = new PrintTask("thread1");
    PrintTask task2 = new PrintTask("thread2");
    PrintTask task3 = new PrintTask("thread3");

    System.out.println("Starting threads");

    ExecutorService threadExecutor = Executors.newCachedThreadPool();

    threadExecutor.execute(task1); // start task1
    threadExecutor.execute(task2); // start task2
    threadExecutor.execute(task3); // start task3

    threadExecutor.shutdown(); // shutdown worker threads

    System.out.println("Threads started, main ends\n");
  }
}

class PrintTask implements Runnable {
  private int sleepTime;

  private String threadName;

  public PrintTask(String name) {
    threadName = name;
    sleepTime = 1000;
  }

  public void run() {
    try {
      System.out.printf("%s going to sleep for %d milliseconds.\n", threadName, sleepTime);

      Thread.sleep(sleepTime); // put thread to sleep
    } catch (InterruptedException exception) {
      exception.printStackTrace();
    }
    System.out.printf("%s done sleeping\n", threadName);
  }
}

   
  








Related examples in the same category

1.ExecutorService: awaitTermination(long timeout, TimeUnit unit)
2.ExecutorService: shutdown()
3.ExecutorService: shutdownNow()
4.ExecutorService: submit(Runnable task)