internal void RemoveThread()
{
if (workers.Count > 0)
{
lock (workers[0].disposedLocker)
{
if (!workers[0].disposed)
{
currentLoopBody = null;
workerCount = 1;
workers[0].getToWork.Set();
loopFinished.WaitOne();
workers[0].Dispose();
}
}
workers.RemoveAt(0);
}
}