Skip to content

Instantly share code, notes, and snippets.

@youtalk
Created January 12, 2012 06:15
Show Gist options
  • Save youtalk/1599052 to your computer and use it in GitHub Desktop.
Save youtalk/1599052 to your computer and use it in GitHub Desktop.
Thread pool using java.util.concurrent packages
package jp.youtalk;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class SharedTaskExecutor {
private static ExecutorService EXECUTORS =
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1);
public static synchronized void executeTask(Runnable r) {
EXECUTORS.execute(r);
}
public static synchronized Future executeTask(Callable c) {
return EXECUTORS.submit(c);
}
private SharedTaskExecutor() {}
public static void main(String[] args) {
SharedTaskExecutor.executeTask(new Runnable() {
@Override
public void run() {
// do something
}
});
Future result = SharedTaskExecutor.executeTask(new Callable() {
@Overridepublic Boolean call() throws Exception {
return true;
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment