Перекидывать ссылки с одного потока в другой JAVA

273
28 апреля 2018, 19:20

У меня есть картинки которые нужно загрузить я хочу сделать так что есть один поток который загружает картинки и есть второй который передает туда(в первый) ссылки для загрузки. Подскажите, пожалуйста) Можно не на картинка, просто какой нибудь шаблон)

Answer 1

Идея следующая, у вас есть очередь с блокировкой, т.е. в неё можно положить, а прочитать только тогда, когда там что-то есть, иначе она просто ожидает.

Таким образом будет что-то такое:

private BlockingQueue<String> s = new ArrayBlockingQueue<>(5);
public User initThread() {
  try {
    s.put("URL");
  } catch (InterruptedException e) {
    e.printStackTrace();
  }
  Thread t = new Thread(()->{
    try {
      processing(s.take());
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  });
}

Т.е. когда другие потоки будут класть в очередь s строку, поток t, будет его обрабатывать.

READ ALSO
@GeneratorValue выдаёт уже занятые id

@GeneratorValue выдаёт уже занятые id

Таблица: "ID" INTEGER DEFAULT nextval('zakazchik_id_seq'::regclass) NOT NULL, Сущность:

178
Error executing Maven: Non-parseable settings

Error executing Maven: Non-parseable settings

При запуске любой процедуры Maven в IntelliJ IDEA (clean или build) Maven ругается на мой файл settingxml:

343
Как добавить в maven локальную зависимость?

Как добавить в maven локальную зависимость?

Главный pomxml-родитель justvillage:

212
Генерация QR-кода программно

Генерация QR-кода программно

Есть приложение с полями:

179