100 lines
2.9 KiB
C#
100 lines
2.9 KiB
C#
// Ami Bar
|
|
// amibar@gmail.com
|
|
|
|
using System.Threading;
|
|
|
|
namespace Amib.Threading
|
|
{
|
|
/// <summary>
|
|
/// Summary description for STPStartInfo.
|
|
/// </summary>
|
|
public class STPStartInfo : WIGStartInfo
|
|
{
|
|
/// <summary>
|
|
/// Idle timeout in milliseconds.
|
|
/// If a thread is idle for _idleTimeout milliseconds then
|
|
/// it may quit.
|
|
/// </summary>
|
|
private int _idleTimeout;
|
|
|
|
/// <summary>
|
|
/// The lower limit of threads in the pool.
|
|
/// </summary>
|
|
private int _minWorkerThreads;
|
|
|
|
/// <summary>
|
|
/// The upper limit of threads in the pool.
|
|
/// </summary>
|
|
private int _maxWorkerThreads;
|
|
|
|
/// <summary>
|
|
/// The priority of the threads in the pool
|
|
/// </summary>
|
|
private ThreadPriority _threadPriority;
|
|
|
|
/// <summary>
|
|
/// If this field is not null then the performance counters are enabled
|
|
/// and use the string as the name of the instance.
|
|
/// </summary>
|
|
private string _pcInstanceName;
|
|
|
|
private int _stackSize;
|
|
|
|
public STPStartInfo() : base()
|
|
{
|
|
_idleTimeout = SmartThreadPool.DefaultIdleTimeout;
|
|
_minWorkerThreads = SmartThreadPool.DefaultMinWorkerThreads;
|
|
_maxWorkerThreads = SmartThreadPool.DefaultMaxWorkerThreads;
|
|
_threadPriority = SmartThreadPool.DefaultThreadPriority;
|
|
_pcInstanceName = SmartThreadPool.DefaultPerformanceCounterInstanceName;
|
|
_stackSize = SmartThreadPool.DefaultStackSize;
|
|
}
|
|
|
|
public STPStartInfo(STPStartInfo stpStartInfo) : base(stpStartInfo)
|
|
{
|
|
_idleTimeout = stpStartInfo._idleTimeout;
|
|
_minWorkerThreads = stpStartInfo._minWorkerThreads;
|
|
_maxWorkerThreads = stpStartInfo._maxWorkerThreads;
|
|
_threadPriority = stpStartInfo._threadPriority;
|
|
_pcInstanceName = stpStartInfo._pcInstanceName;
|
|
_stackSize = stpStartInfo._stackSize;
|
|
}
|
|
|
|
public int IdleTimeout
|
|
{
|
|
get { return _idleTimeout; }
|
|
set { _idleTimeout = value; }
|
|
}
|
|
|
|
public int MinWorkerThreads
|
|
{
|
|
get { return _minWorkerThreads; }
|
|
set { _minWorkerThreads = value; }
|
|
}
|
|
|
|
public int MaxWorkerThreads
|
|
{
|
|
get { return _maxWorkerThreads; }
|
|
set { _maxWorkerThreads = value; }
|
|
}
|
|
|
|
public ThreadPriority ThreadPriority
|
|
{
|
|
get { return _threadPriority; }
|
|
set { _threadPriority = value; }
|
|
}
|
|
|
|
public string PerformanceCounterInstanceName
|
|
{
|
|
get { return _pcInstanceName; }
|
|
set { _pcInstanceName = value; }
|
|
}
|
|
|
|
public int StackSize
|
|
{
|
|
get { return _stackSize; }
|
|
set { _stackSize = value; }
|
|
}
|
|
}
|
|
}
|