コード例 #1
0
        private void EnqueueInternal(Func <IFileCommand> factoryFunc, FileCommandsQueuePriority priority)
        {
            switch (priority)
            {
            case FileCommandsQueuePriority.Highest:
                _taskHighestQueue.Enqueue(factoryFunc);
                break;

            case FileCommandsQueuePriority.Normal:
                _taskNormalQueue.Enqueue(factoryFunc);
                break;

            case FileCommandsQueuePriority.Low:
                _taskLowQueue.Enqueue(factoryFunc);
                break;

            case FileCommandsQueuePriority.Transfer:
                EnqueueTransfer(factoryFunc);
                break;

            default:
                _taskNormalQueue.Enqueue(factoryFunc);
                break;
            }
        }
コード例 #2
0
 public void Enqueue(Func <IFileCommand> factoryFunc, FileCommandsQueuePriority priority = FileCommandsQueuePriority.Normal)
 {
     EnqueueInternal(factoryFunc, priority);
     _resetEventSlim.Set();
 }