Skip to content

线程池代码解读 #3

@XingdiWang

Description

@XingdiWang

以下为线程池定义的一段代码,请解读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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions