2009-06-08 4 views
1

Как реализовать ThreadPoolExecutor? Что нужно сделать, чтобы использовать его?Темы Java

+3

вам необходимо внедрить новую, или просто использовать пул потоков делать? Если последний имеет несколько реализаций в API –

ответ

8

Спецификация API для класса ThreadPoolExecutor имеет четыре конструктора, которые могут быть использованы для создания экземпляра ThreadPoolExecutor.

Executors класс также имеет методы, такие как newCachedThreadPool и newFixedThreadPool методы, но те, которые перечислены только как возвращение к ExecutorService, поэтому он не обязательно должен быть ThreadPoolExecutor.

Для получения более общей информации о Executors и пакете параллелизма Java, Lesson: Concurrency от The Java Tutorials имеет дополнительную информацию. В частности, может представлять интерес раздел Executors и Thread Pools.

3

Executor - это интерфейс. Внедрение этого решения позволяет клиентам передавать вам выполняемые задачи, которые затем выполняются определенным образом. ThreadPoolExecutor - это один класс, реализующий этот интерфейс (и ExecutorService). Он использует пул потоков, поэтому вы можете иметь несколько потоков, выполняющих задания, не требуя нового потока для каждой работы. ThreadPoolExecutor может быть подклассифицирован или вы можете просто создать экземпляр с помощью одного из публичных конструкторов.

Другие методы, такие как Executors.newFixedThreadPool, возвращают пул потоков некоторого вида, хотя не (обязательно) ThreadPoolExecutor.

2

Java Concurrency in Practice - Addison Wesley ISBN: 0321349601 Я использовал эту книгу, чтобы узнать об Исполнителях. У меня есть множество хороших примеров, которые вы можете украсть.