void Update() { if (CurrentDispatcher != null) { CurrentDispatcher.ProcessTasks(); } var finishedThreads = registeredThreads.Where(thread => !thread.IsAlive).ToArray(); foreach (var finishedThread in finishedThreads) { finishedThread.Dispose(); registeredThreads.Remove(finishedThread); } }
protected virtual void Update() { if (CurrentDispatcher != null) { CurrentDispatcher.ProcessTasks(); } foreach (var thread in _registeredThreads.ToArray()) { if (thread.IsAlive) { continue; } thread.Dispose(); _registeredThreads.Remove(thread); } }