2 package org.apidesign.privileged.api;
4 import java.util.concurrent.Executor;
8 * @author Jaroslav Tulach <jtulach@netbeans.org>
10 public final class Executors {
11 /** let's prefer factory methods */
16 public static Executor create() {
20 public static Executor create(boolean fair) {
21 Configuration conf = new Configuration();
23 return new Fair(conf);
26 // BEGIN: design.less.privileged
27 public static Executor create(Configuration config) {
28 return new Fair(config);
31 public static final class Configuration {
35 public void setFair(boolean fair) {
38 public void setMaxWaiters(int max) {
39 this.maxWaiters = max;
42 // END: design.less.privileged
44 private static final class Simple implements Executor {
45 public synchronized void execute(Runnable command) {
49 private static final class Fair implements Executor {
50 private final Configuration conf;
52 public Fair(Configuration conf) {
56 public void execute(Runnable command) {