Я пишу модуль, в котором будет создано множество потоков, выполняющих некоторую задачу. Таким образом, в целом у меня есть класс «Менеджер», который предоставляет информацию классу «Resolver», который создает и отправляет «Задачу», используя threadpool.Стратегия поиска уже порожденной задачи в очереди
У Resolver есть исполнитель threadpool, у которого есть неограниченная очередь, которую я использую, чтобы проверить, не создано ли перкулярное задание. Если в очереди уже есть экземпляр задачи, я удаляю его с помощью ThreadPoolExecutor и снова отправляю новую задачу. Это делается намеренно, поскольку новая задача выводит новую информацию из «Менеджера».
Я использую ThreadPoolexecutor для поиска, если задача уже есть очередь. Но я беспокоюсь о производительности очереди и считаю, что хэш-карта будет лучшим выбором, поскольку в очереди может быть более 30000 экземпляров задачи.
Направьте меня, чтобы выбрать подходящую стратегию для поиска уже порожденной задачи в очереди.
Вместо поиска задачи вы можете использовать 'Future.cancel (false)', который остановит задачу, если она еще не запущена. –