예제 #1
0
        /// <summary>
        /// Grabs one semahore count with a placeholder thread
        /// </summary>
        private void GrabSemaphoreCount()
        {
            var placeholder = new MyTimedThread(_semaphore, Guid.NewGuid().ToString());

            _placeholderThreads.Add(placeholder);
            placeholder.Start();
            _semaphoreCurrentCapacity--;
        }
예제 #2
0
        private void AddThread()
        {
            MyTimedThread newThread = new MyTimedThread(_semaphore, _newThreadNumber.ToString());

            newThread.ThreadEnteredWorkingArea += OnThreadEnteredWorkingArea;
            newThread.ThreadExitedWorkingArea  += OnThreadExitedWorkingArea;

            _newThreads.Add(newThread);
            _newThreadNumber++;
        }