se version 2 only, as published by the Free Software Foundation.
 * However, the following notice accompanied the original version of this
 * file:
 *
 * Written by Doug Lea with assistance from members of JCP JSR-166
 * Expert Group and released to the public domain, as explained at
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

package java.util.concurrent;

import java.security.AccessControlContext;
import java.security.AccessControlException;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import sun.security.util.SecurityConstants;

import static java.lang.ref.Reference.reachabilityFence;

/**
 * Factory and utility methods for {@link Executor}, {@link
 * ExecutorService}, {@link ScheduledExecutorService}, {@link
 * ThreadFactory}, and {@link Callable} classes defined in this
 * package. This class supports the following kinds of methods:
 *
 * <ul>
 * <li>Methods that create and return an {@link ExecutorService}
 * set up with commonly useful configuration settings.
 * <li>Methods that create and return a {@link ScheduledExecutorService}
 * set up with commonly useful configuration settings.
 * <li>Methods that create and return a "wrapped" ExecutorService, that
 * disables reconfiguration by making implementation-specific methods
 * inaccessible.
 * <li>Methods that create and return a {@link ThreadFactory}
 * that sets newly created threads to a known state.
 * <li>Methods that create and return a {@link Callable}
 * out of other closure-like forms, so they can be used
 * in execution methods requiring {@code Callable}.
 * </ul>
 *
 * @author Doug Lea
 * @since 1.5
 */
// 【任务执行框架】的工厂，该类负责生成：【任务执行框架】对象、Callable类型的任务对象、线程工厂对象
public class Executors {
    
    /** Cannot instantiate. */
