invoke Bulk Actions ExecutorService - Java java.util.concurrent

Java examples for java.util.concurrent:ExecutorService

Description

invoke Bulk Actions ExecutorService

Demo Code

/*L//  w  ww . j  av a2  s  . c  o  m
 * Copyright HealthCare IT, Inc.
 *
 * Distributed under the OSI-approved BSD 3-Clause License.
 * See http://ncip.github.com/edct-formbuilder/LICENSE.txt for details.
 */
//package com.java2s;
import java.util.Collection;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Main {
    public static void main(String[] argv) throws Exception {
        Collection tasks = java.util.Arrays.asList("asdf", "java2s.com");
        invokeBulkActions(tasks);
    }

    public static void invokeBulkActions(Collection<Callable<Object>> tasks) {
        invokeBulkActions(tasks, 20);
    }

    public static void invokeBulkActions(
            Collection<Callable<Object>> tasks, int numFixedThreads) {
        ExecutorService executor = Executors
                .newFixedThreadPool(numFixedThreads);
        try {
            executor.invokeAll(tasks);
        } catch (InterruptedException iex) {
        } finally {
            executor.shutdown();
        }
    }
}

Related Tutorials