Assign the SmartThreadPool name in the constructor

This is required because some threads are created in the constructor, so assigning the name afterwards would be too late.
This commit is contained in:
Oren Hurvitz
2013-01-04 08:43:05 +02:00
committed by Justin Clark-Casey (justincc)
parent 3eee991935
commit b77da5039e
4 changed files with 30 additions and 5 deletions

View File

@@ -32,6 +32,11 @@ namespace Amib.Threading
/// </summary>
private ThreadPriority _threadPriority;
/// <summary>
/// The thread pool name. Threads will get names depending on this.
/// </summary>
private string _threadPoolName;
/// <summary>
/// If this field is not null then the performance counters are enabled
/// and use the string as the name of the instance.
@@ -46,6 +51,7 @@ namespace Amib.Threading
_minWorkerThreads = SmartThreadPool.DefaultMinWorkerThreads;
_maxWorkerThreads = SmartThreadPool.DefaultMaxWorkerThreads;
_threadPriority = SmartThreadPool.DefaultThreadPriority;
_threadPoolName = SmartThreadPool.DefaultThreadPoolName;
_pcInstanceName = SmartThreadPool.DefaultPerformanceCounterInstanceName;
_stackSize = SmartThreadPool.DefaultStackSize;
}
@@ -56,6 +62,7 @@ namespace Amib.Threading
_minWorkerThreads = stpStartInfo._minWorkerThreads;
_maxWorkerThreads = stpStartInfo._maxWorkerThreads;
_threadPriority = stpStartInfo._threadPriority;
_threadPoolName = stpStartInfo._threadPoolName;
_pcInstanceName = stpStartInfo._pcInstanceName;
_stackSize = stpStartInfo._stackSize;
}
@@ -84,6 +91,13 @@ namespace Amib.Threading
set { _threadPriority = value; }
}
public virtual string ThreadPoolName
{
get { return _threadPoolName; }
set { _threadPoolName = value; }
}
public string PerformanceCounterInstanceName
{
get { return _pcInstanceName; }