internal override void UnsafeUpdate( )
{
// Check out nappers and pull any awakened ones to waiting
UnsafeRequeueAwakenedTasks();
// Check if any dedicated threads are done. If so, add them to the pool.
HandleDedicatedThreads();
// Assign work, and remove napping threads from action.
UnsafeHandleThreads();
// Check for despawning and spawning
// This only checks for a despawn if we didn't spawn.
lock ( workLock )
{
if ( !SpawnThreadIfNeeded() )
DespawnThreadIfNeeded();
}
}