JAVA Выполнение стека потоков - PullRequest
1 голос
/ 06 февраля 2012

Может быть, кто-то может порекомендовать несколько хороших примеров, касающихся выполнения потоков, управления потоками. Может быть, не только примеры, но статья, учебник, если вы будете с примерами.

Как правило, у меня есть проблема, когда мне нужно загрузить кучу файлов из Интернета, но соединение ограничено двумя. Поэтому, когда я собираю все URL-адреса нужных мне файлов, я хотел бы загрузить, скажем, 100 файлов, но делать это асинхронно в два раза, пока все потоки не завершат свою работу.

Спасибо вам за поддержку.

Ответы [ 4 ]

2 голосов
/ 06 февраля 2012

Я думаю, что ThreadPoolExecutor должен помочь вам, есть много различных реализаций такого опроса в java.util.concurrent. *;

2 голосов
/ 06 февраля 2012

ExecutorService должен позаботиться об управлении потоками.

final int POOL_SIZE = 2;
final ExecutorService pool = Executors.newFixedThreadPool(POOL_SIZE);

затем вы можете вызвать метод submit для выполнения выполняемых задач

2 голосов
/ 06 февраля 2012

Используйте ExecutorService, использующий фиксированный пул потоков размера 2, и отправьте все задачи этому ExecutorService.

1 голос
/ 06 февраля 2012

У меня нет статьи, но я знаю хорошую книгу, которая охватывает общее многопоточное программирование с использованием Java.На практике это называется Java Concurrency. Он охватывает общие шаблоны использования и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...