В примере этой статьи рассказывается об использовании интерфейса исполнителя в Java. Поделитесь этим для всех для вашей ссылки. Специфика заключается в следующем:
1. Определение интерфейса исполнителя в Java
Исполнитель Public Interface {void Execute (Runnable Commit);}
2. Создайте пул потоков с помощью статических заводских методов ниже эксплуататоров:
а) newFixedThreadpool: создайте длинный бассейн. После достижения максимального количества потоков количество потоков больше не увеличивается.
Если поток заканчивается из -за не ожидаемого исключения, пул потоков дополнит новый поток.
б) newcachedhreadpool: Создайте кэшированный бассейн потоков. Когда длина пула превышает требования к обработке, вы можете восстановить потоки холостого хода.
C) NewsingLethreadPool: Создайте одного исполнителя.
D) Newschedudhreadpool: создайте длинный пул потоков и поддерживает время -период и периодическое выполнение задач.
Похоже на таймер. Тем не менее, таймер основан на абсолютном времени, который чувствителен к изменениям в системных часах, в то время как PreduledThreadPoolexeCutor только поддерживает относительное время.
3. Сравните сводку приложения класса таймера
1) Таймер - единственный поток, который выполняет все задачи таймера. Если задача не хватает времени, это вызовет другое время Timertask для точных проблем.
2) Если Timrtask выбросит отклонений от Unchect, Timer будет иметь непредсказуемое поведение. Следовательно, PredicleDhreadPoolexeCutor может полностью заменить таймер.
3) Чтобы решить жизненный цикл служб выполнения, интерфейс ExecutorService расширяет исполнителя. Пул потоков будет включать в себя 3 состояния: бег, закрытие, прекращение.
4. Callible и Future
Поскольку бегство не возвращает значение и не может быть выброшено из проверенной аномалии, Callable является лучшей абстракцией. (Callible <void> указывает задачу отсутствия возвращаемого значения).
В будущем описывается жизненный цикл задачи и предоставляет связанные методы для получения результатов задачи, отменить задачу, проверить задачу, чтобы выполнить или отменить ее.
5.compltingService интегрирует функции исполнителя и блокировки.
Его принятие и опрос могут заблокировать выполнение задачи.
Есть надежда, что эта статья полезна для дизайна программы Java каждого.