Java: как получить готовые потоки для выполнения задач из запущенных потоков
Я работаю над многопоточным приложением с задачами, которые имеют различное время выполнения. Когда один поток завершается, есть ли способ взять на себя некоторые задачи из все еще работающего потока?
Вот пример. Я запускаю свою программу с 5 потоками, и у каждого есть 50 задач. Когда завершается самый быстрый запущенный поток, другой поток все еще должен выполнить 40 задач. Как я могу заставить законченный поток принять 20 задач из другого потока, чтобы каждый продолжал работать над 20 частями, вместо того, чтобы ждать, пока запущенный поток завершит оставшиеся 40?