Как добавить объект таймера для выполнения действий каждые X секунд в одном потоке и каждые Y секунд в другом? - PullRequest
0 голосов
/ 24 ноября 2011

Каков наилучший подход для создания нескольких потоков, которые выполняют какое-либо действие асинхронно на JPanel canvas и могут управляться из main (...)? Как насчет методов синхронизации?

1 Ответ

3 голосов
/ 24 ноября 2011

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

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

...