acquirePool
Acquires the current pool generation for one dispatch: the pool is created lazily at dfThreads() and the caller's use is counted, so a concurrent setThreads can retire this generation without stopping it beneath the caller. Pair every acquire with releasePool on the same pool (a scope(exit) is the shape).
Returns
the pool this dispatch runs on.