Как реализовать ThreadPoolExecutor? Что нужно сделать, чтобы использовать его?Темы Java
ответ
Спецификация API для класса ThreadPoolExecutor
имеет четыре конструктора, которые могут быть использованы для создания экземпляра ThreadPoolExecutor
.
Executors
класс также имеет методы, такие как newCachedThreadPool
и newFixedThreadPool
методы, но те, которые перечислены только как возвращение к ExecutorService
, поэтому он не обязательно должен быть ThreadPoolExecutor
.
Для получения более общей информации о Executors
и пакете параллелизма Java, Lesson: Concurrency от The Java Tutorials имеет дополнительную информацию. В частности, может представлять интерес раздел Executors и Thread Pools.
Executor - это интерфейс. Внедрение этого решения позволяет клиентам передавать вам выполняемые задачи, которые затем выполняются определенным образом. ThreadPoolExecutor - это один класс, реализующий этот интерфейс (и ExecutorService). Он использует пул потоков, поэтому вы можете иметь несколько потоков, выполняющих задания, не требуя нового потока для каждой работы. ThreadPoolExecutor может быть подклассифицирован или вы можете просто создать экземпляр с помощью одного из публичных конструкторов.
Другие методы, такие как Executors.newFixedThreadPool, возвращают пул потоков некоторого вида, хотя не (обязательно) ThreadPoolExecutor.
Java Concurrency in Practice - Addison Wesley ISBN: 0321349601 Я использовал эту книгу, чтобы узнать об Исполнителях. У меня есть множество хороших примеров, которые вы можете украсть.
Я предлагаю вам начать с учебника для этого класса http://java.sun.com/docs/books/tutorial/essential/concurrency/exinter.html
вам необходимо внедрить новую, или просто использовать пул потоков делать? Если последний имеет несколько реализаций в API –