НАЗНАЧЕНИЕ И ПЛАНИРОВАНИЕ ПОТОКОВ ДЛЯ НЕСКОЛЬКИХ ОЧЕРЕДЕЙ С УЧЕТОМ ПРИОРИТЕТА

1. Компьютер, содержащий память и по меньшей мере один процессор, с операционной системой, исполняемой на по меньшей мере одном процессоре, причем операционная система предоставляет:
пул рабочих потоков;
множество очередей, причем каждая очередь обладает отличным от других приоритетом, для хранения элементов, которые должны назначаться рабочим потокам;
контроллер параллелизма, который назначает элементы из множества очередей ограниченному количеству рабочих потоков.
2. Компьютер по п. 1, в котором операционная система имеет интерфейс прикладного программирования, позволяющий приложениям добавлять элементы в очереди с заданными приоритетами.
3. Компьютер по п. 2, в котором каждый рабочий поток имеет флаг параллелизма, указывающий на то, подсчитывается ли этот рабочий поток в лимите параллелизма.
4. Компьютер по п. 3, в котором каждый рабочий поток имеет указание исходного приоритета и указание любого измененного приоритета.
5. Компьютер по п. 4, в котором, в ответ на изменение приоритета рабочего потока на более низкий приоритет, прерывается обслуживание рабочего потока и делается активным рабочий поток более высокого приоритета.
6. Компьютер по п. 1, в котором контроллер параллелизма помечает элемент как обладающий гарантией того, что будет доступен рабочий поток для обслуживания этого элемента.
7. Компьютер по п. 1, в котором контроллер параллелизма, в ответ на добавление элемента в очередь более высокого приоритета, чем текущий рабочий поток, прерывает обслуживание текущего рабочего потока и назначает элемент более высокого приоритета рабочему потоку.
8. Промышленное изделие, содержащее
компьютерный носитель информации;
инструкции компьютерной программы, хранящиеся на компьютерном носителе информации, которые, при их считывании с компьютерного носителя информации и обработке посредством устройства обработки данных, предписывают устройству обработки данных конфигурироваться так, чтобы иметь операционную систему, исполняемую на по меньшей мере одном процессоре, причем операционная система предоставляет:
пул рабочих потоков;
множество очередей, причем каждая очередь обладает отличным от других приоритетом, для хранения элементов, которые должны назначаться рабочим потокам;
контроллер параллелизма, который назначает элементы из множества очередей ограниченному количеству рабочих потоков.
9. Компьютерно-реализуемый способ, содержащий:
исполнение операционной системы на компьютере, причем операционная система предоставляет пул рабочих потоков и множество очередей, ассоциированных с пулом рабочих протоков, причем каждая очередь - для элементов разного приоритета,
прием запросов добавить элементы в очереди, причем каждый элемент с приоритетом добавляется в одну из очередей, соответствующую приоритету этого элемента;
назначение элементов рабочим потокам в соответствии с элементами самого высокого приоритета, затем временем прибытия элементов, ограничивая назначение элементов лимитом параллелизма.
10. Компьютерно-реализуемый способ по п. 9, в котором каждый рабочий поток имеет флаг параллелизма, указывающий на то, подсчитывается ли рабочий поток в лимите параллелизма.