示例#1
0
        void ReleaseThreads()
        {
            ReleaseThreadsRecord releaseThreadsRecord = new ReleaseThreadsRecord(DateTime.Now);

            foreach (WorkerThread thread in this._allThreads)
            {
                try
                {
                    thread.Dispose();
                }
                catch
                {
                }

                releaseThreadsRecord.ThreadIds.Add(thread.ThreadId);
            }

            releaseThreadsRecord.ThreadIds.TrimExcess();
            this._releaseThreadsRecords.Add(releaseThreadsRecord);

            this._allThreads.Clear();
            this._freeTreads.Clear();
            this._workingTreads.Clear();
            this._workQueue.Clear();
            this._workQueue.TrimExcess();
        }
示例#2
0
            public ReleaseThreadsRecord Clone()
            {
                ReleaseThreadsRecord record = new ReleaseThreadsRecord(this.ReleaseTime);

                record.ThreadIds = this.ThreadIds.ToList();

                return(record);
            }