java.util.Timer
работает с заданиями. Каждое задание имеет свое расписание. Вы можете создавать задачи для каждого потока и планировать их соответственно. Каждая задача должна иметь возможность отправлять сигнал в свой поток (например, используя notify()
).
Итак, вы достигнете этой функциональности: каждая задача уведомляет свой поток и запланирована отдельно. И эта система масштабируема: таймер создает только один собственный поток, поэтому даже если количество ваших рабочих потоков будет расти, у вас будет только один дополнительный поток в вашей системе.