public LimitedPriorityQueue(IPriorityConverter <P> converter) { this.converter = converter; this.queueList = new LockFreeQueue <T> [converter.PriorityCount]; for (int i = 0; i < queueList.Length; i++) { queueList[i] = new LockFreeQueue <T>(); } }
public MultiqueueManager(uint mainFiber, [CanBeNull] IPriorityConverter converter = null) { MainFiber = mainFiber; Converter = converter ?? new ExponentPriorityConverter(); Queues = new PriorityAwareQueue <Process> [Process.PriorityLevelsNumber]; for (int index = 0; index < Process.PriorityLevelsNumber; index += 1) { Queues[index] = new PriorityAwareQueue <Process>(index); } }