PooledThreadingStrategy
class PooledThreadingStrategy(scope: CoroutineScope = GlobalScope, evictAfter: Duration = 1.minutes) : ThreadingStrategy
A ThreadingStrategy that pools unused "threads" until evictAfter time has elapsed.
In most circumstances, only a a single PooledThreadingStrategy instance should be created per application run, as it holds the "shared" pool of unused "threads".
Useful for when Peripheral connections are quickly being spun down and up again — as they can re-use existing "threads" (acquire their "threads" from the unused pool).
If Peripheral connections are expected to be long running, or for there to be long down times between connections, OnDemandThreadingStrategy may be a better choice.