1.変数
ThreadPoolExecutorは最初、これらの定数を定義し、最初の一目見無知力、実際には、スレッドプールの状態を表現するバイナリ高い3 intで
ビット・コンピューティングを初めて目:
- <<「左:右のアップ側位置には、2倍の値に対応する、0を空い。
- 「>>」は右:それは、それが負である場合には、OS X S.1に使用されるコンピュータシステムに依存して、0又は1を満たすゼロで満たされた正の場合、位置を空いたままにしました。これは、2で割った値に相当します。
- その負のバイナリの絶対値で1を加えた後ネゲート
AtomicIntegerの最終的なCTL =新しい新規のAtomicInteger(ctlOf(RUNNING、0))のプライベート; プライベート静的INT COUNT_BITS最終Integer.SIZE = - 3; 29 // 専用容量の静的INT =ファイナル(COUNT_BITS << 1。) - 1; // 1 < <29 = 00000000 00000000 0,010,000,000,000,000マイナス1 = 0,001,111,111,111,111 1,111,111,111,111,111 バイナリ1 // 001、110がネゲートされている、111、111プラス1バイナリ次いで、-1である29を左、 RUNNING INTプライベート静的=ファイナル<< COUNT_BITS -1; // 111 00000 00000000 00000000 00000000 民間最終静的INT = 0 << SHUTDOWNをCOUNT_BITS; // 000 00000 00000000 00000000 00000000 民間最終静的int型1 << = STOPをCOUNT_BITS; // 001 00000 00000000 00000000 00000000 プライベート静的最終int型の片付け= 2 << COUNT_BITS。// 010 00000 00000000 00000000 00000000 プライベート静的最終int型TERMINATED = 3 << COUNT_BITS。// 011 00000 00000000 00000000 00000000