/// <summary> /// Default copy constructor /// </summary> /// <param name="b">the object to copy from</param> public BaseWorkerThread(BaseWorkerThread b) : base(b) { lock (b.m_callBackLock) { m_lifePolicy = b.m_lifePolicy; m_callBackFunc = b.m_callBackFunc; m_jobProcessor = b.m_jobProcessor; m_workPool = b.m_workPool; } }
/// <summary> /// Return the new worker thread object with given life policy. /// </summary> /// <param name="policy">the life policy of the thread to create.</param> /// <returns>the new worker thread object with given life policy.</returns> public static BaseWorkerThread GetWorkerThread(ThreadLifePolicy policy = ThreadLifePolicy.INFINITE) { if(policy==ThreadLifePolicy.INFINITE) return new WorkerThreadInfinite(policy) as BaseWorkerThread; else if(policy== ThreadLifePolicy.TERMINATE_AFTER_WORK) return new WorkerThreadSingle(policy) as BaseWorkerThread; else if(policy== ThreadLifePolicy.SUSPEND_AFTER_WORK) return new WorkerThreadInfinite(policy) as BaseWorkerThread; else { String outputString="Unknown Thread Life Policy Input! Thread Life Policy Input : "; outputString+=policy.ToString(); Debug.Assert(false,outputString as string); } return null; }
/// <summary> /// Return the new worker thread object with given life policy. /// </summary> /// <param name="policy">the life policy of the thread to create.</param> /// <returns>the new worker thread object with given life policy.</returns> public static BaseWorkerThread GetWorkerThread(ThreadLifePolicy policy = ThreadLifePolicy.INFINITE) { if (policy == ThreadLifePolicy.INFINITE) { return(new WorkerThreadInfinite(policy) as BaseWorkerThread); } else if (policy == ThreadLifePolicy.TERMINATE_AFTER_WORK) { return(new WorkerThreadSingle(policy) as BaseWorkerThread); } else if (policy == ThreadLifePolicy.SUSPEND_AFTER_WORK) { return(new WorkerThreadInfinite(policy) as BaseWorkerThread); } else { String outputString = "Unknown Thread Life Policy Input! Thread Life Policy Input : "; outputString += policy.ToString(); Debug.Assert(false, outputString as string); } return(null); }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public BaseWorkerThread(ThreadLifePolicy policy):base() { m_lifePolicy=policy; m_callBackFunc = null; }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public WorkerThreadSingle(ThreadLifePolicy policy) : base(policy) { }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public WorkerThreadInfinite(ThreadLifePolicy policy):base(policy) { m_terminateEvent=new EventEx(false,EventResetMode.AutoReset); }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public WorkerThreadInfinite(ThreadLifePolicy policy) : base(policy) { m_terminateEvent = new EventEx(false, EventResetMode.AutoReset); }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public BaseWorkerThread(ThreadLifePolicy policy) : base() { m_lifePolicy = policy; m_callBackFunc = null; }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public BaseWorkerThread(ThreadLifePolicy policy):base(ThreadPriority.Normal) { m_lifePolicy=policy; m_callBackFunc = null; }
/// <summary> /// Default copy constructor /// </summary> /// <param name="b">the object to copy from</param> public BaseWorkerThread(BaseWorkerThread b):base(b) { lock(b.m_callBackLock) { m_lifePolicy=b.m_lifePolicy; m_callBackFunc = b.m_callBackFunc; m_jobProcessor=b.m_jobProcessor; m_workPool=b.m_workPool; } }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public BaseWorkerThread(ThreadLifePolicy policy) : base(ThreadPriority.Normal) { m_lifePolicy = policy; m_callBackFunc = null; }
/// <summary> /// Default Constructor /// </summary> /// <param name="policy">the life policy of this worker thread.</param> public WorkerThreadSingle(ThreadLifePolicy policy):base(policy) {}