У меня есть домашнее задание, которое требует от меня научиться пользоваться библиотекой параллелизма Guava.
В этом задании у меня есть несколько пулов потоков, каждый из которых контролируется отдельным объектом.
В каждом пуле есть несколько рабочих потоков, которые выполняют простые задачи (в основном эмулируя выполнение заданий с помощью Thread.sleep(long)
), и все эти простые задачи хранятся в объекте-контейнере, который эмулирует доску сообщений.
Каждая простая задача имеетсписок зависимостей других задач, и он не может быть выполнен до тех пор, пока все эти задачи не будут выполнены.
Как извлечь выгоду из библиотеки Guava, используя ListenableFuture
и Futures.chain()
?
Я искал везде обширный пример кода в Интернете, но не нашел ничего, что я понимаю, как использовать.