smartthreadpool: add pool option SuppressFlow and test it on main smart?? pool (may go bad)

This commit is contained in:
UbitUmarov
2020-12-31 02:46:38 +00:00
parent 0389c02fd5
commit 960a0fa360
3 changed files with 32 additions and 7 deletions

View File

@@ -608,12 +608,24 @@ namespace Amib.Threading
}
// Create a new thread
Thread workerThread =
_stpStartInfo.MaxStackSize.HasValue
? new Thread(ProcessQueuedItems, _stpStartInfo.MaxStackSize.Value)
: new Thread(ProcessQueuedItems);
Thread workerThread;
if(_stpStartInfo.SuppressFlow)
{
using(ExecutionContext.SuppressFlow())
{
workerThread =
_stpStartInfo.MaxStackSize.HasValue
? new Thread(ProcessQueuedItems, _stpStartInfo.MaxStackSize.Value)
: new Thread(ProcessQueuedItems);
}
}
else
{
workerThread =
_stpStartInfo.MaxStackSize.HasValue
? new Thread(ProcessQueuedItems, _stpStartInfo.MaxStackSize.Value)
: new Thread(ProcessQueuedItems);
}
// Configure the new thread and start it
workerThread.IsBackground = _stpStartInfo.AreThreadsBackground;