Skip to content

LObSTer93/ThreadPool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Имеется очередь элементов на обработку. Каждый элемент имеет собственный идентификатор (itemId) и принадлежит к некоторой группе (groupId). Внутри группы элементы должны обрабатываться строго последовательно, в порядке увеличения идентификаторов элементов. Элементы разных групп могут обрабатываться параллельно. Обработка элемента производится путем вызова некоторого метода с параметрами itemId и groupId, который печатает полученные идентификаторы элементов. Элементы в очередь добавляются асинхронно внешним процессом. После обработки элемент должен быть удален из очереди.

Написать обработчик очереди, работающий в несколько потоков. Максимальное количество потоков ограничено, задается при старте обработчика и в общем случае меньше числа групп. Обеспечить равномерную обработку групп элементов: наличие в очереди групп с большим количеством элементов не должно приводить к длительным задержкам в обработке других групп.

About

Multithreading queue processing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages