-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
以下为线程池定义的一段代码,请解读runStateOf和workerCountOf方法的含义
private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING,0));
private static final int COUNT_BITS = Integer.SIZE-3;//32-3
private static final int CAPACITY = (1<<COUNT_BITS)-1;
private static final int RUNNING = -1<<COUNT_BITS;
private static final int SHUTDOWN = 0<<COUNT_BITS;
private static final int STOP = 1<<COUNT_BITS;
private static final int TIDYING = 2<<COUNT_BITS;
private static final int TEAMINATED = 3<<COUNT_BITS;
private static int runStateOf(int c){return c&~CAPACITY;}
private static int workerCountOf(int c){return c&CAPACITY;}
private static int ctlOf(int rs,int wc){return rs|wc;}Metadata
Metadata
Assignees
Labels
No labels