internal void ReplacePoolWorker(PoolWorker poolWorker, bool errorRecovery) { if (_poolWorker != null && !errorRecovery) { _poolWorker.ForceTermination(); } _poolWorker = poolWorker; }
public SpreadsThreadPool(ThreadPoolSettings settings) { workQueue = new ThreadPoolWorkQueue(this); Settings = settings; _workers = new PoolWorker[settings.NumThreads]; for (int i = 0; i < settings.NumThreads; i++) { _workers[i] = new PoolWorker(this, i); } }
private PoolWorker RequestThread(WorkerQueue unclaimedQueue, bool errorRecovery = false) { var worker = new PoolWorker(unclaimedQueue, this, errorRecovery); return worker; }
private PoolWorker RequestThread(WorkerQueue unclaimedQueue, bool errorRecovery = false) { var worker = new PoolWorker(unclaimedQueue, this, errorRecovery); return(worker); }