/// <inheritdoc /> public override void Start() { ThrowIfDisposed(); Guard.IsValid(() => Configuration.MaximumThreads, Configuration.MaximumThreads, i => i > 0, "The Configuration.MaximumThreads must be greater than 0"); Configuration.SetReadOnly(); }
/// <inheritdoc /> public override void Start() { ThrowIfDisposed(); Guard.IsValid(() => Configuration.MaximumThreads, Configuration.MaximumThreads, i => i > 0, "The Configuration.MaximumThreads must be greater than 0"); if (_smartThreadPool != null) { throw new DotNetWorkQueueException("Start must only be called 1 time"); } _smartThreadPool = Policy.Bulkhead(_configuration.MaximumThreads, _configuration.MaxQueueSize, OnBulkheadRejected); Configuration.SetReadOnly(); }