private void CreateTask(Action action) { PoormansThreadPool.EnqueueTaskInternal(() => { try { action(); } catch (Exception exception) { lock (_exceptionMonitor) _exceptions.Add(exception); } finally { HasCompleted = true; _synchronizer.Signal(); } }); }
protected override void QueueTask(Task task) { PoormansThreadPool.EnqueueTaskInternal(() => base.TryExecuteTask(task)); }