Javadoc
Full version of externalPush. This method is called, among
other times, upon the first submission of the first task to the
pool, so must perform secondary initialization. It also
detects first submission by an external thread by looking up
its ThreadLocal, and creates a new shared queue if the one at
index if empty or contended. The plock lock body must be
exception-free (so no try/finally) so we optimistically
allocate new queues outside the lock and throw them away if
(very rarely) not needed.
Secondary initialization occurs when plock is zero, to create
workQueue array and set plock to a valid value. This lock body
must also be exception-free. Because the plock seq value can
eventually wrap around zero, this method harmlessly fails to
reinitialize if workQueues exists, while still advancing plock.