コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <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();
        }