1047 |
|
ASHIFT = 31 - Integer.numberOfLeadingZeros(s); |
1048 |
|
} |
1049 |
|
} |
1050 |
+ |
|
1051 |
|
/** |
1052 |
|
* Per-thread records for threads that submit to pools. Currently |
1053 |
|
* holds only pseudo-random seed / index that is used to choose |
1104 |
|
private static final RuntimePermission modifyThreadPermission; |
1105 |
|
|
1106 |
|
/** |
1107 |
< |
* Per-thread submission bookeeping. Shared across all pools |
1107 |
> |
* Per-thread submission bookkeeping. Shared across all pools |
1108 |
|
* to reduce ThreadLocal pollution and because random motion |
1109 |
|
* to avoid contention in one pool is likely to hold for others. |
1110 |
|
*/ |
1308 |
|
try { |
1309 |
|
WorkQueue[] ws = workQueues; |
1310 |
|
if (w != null && ws != null) { // skip on shutdown/failure |
1311 |
< |
int rs, n = ws.length, m = n - 1; |
1311 |
> |
int rs, n = ws.length, m = n - 1; |
1312 |
|
int s = nextSeed += SEED_INCREMENT; // rarely-colliding sequence |
1313 |
|
w.seed = (s == 0) ? 1 : s; // ensure non-zero seed |
1314 |
|
int r = (s << 1) | 1; // use odd-numbered indices |