Как работает ThreadPoolExecutor, созданный с помощью конструктора с BlockingQueue < Runnable > в качестве аргумента поставить в очередь Callables?

Оператор == всегда предназначен для сравнения ссылок на объекты, тогда как метод сравнения строк .equals () переопределяется для сравнения содержимого:

String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // It prints false (reference comparison)
System.out.println(s1.equals(s2)); // It prints true (content comparison)
1
задан Shankhadeep Ghoshal 9 March 2019 в 23:56
поделиться

1 ответ

Это потому, что она упаковывает вашу задачу Callable как RunnableFuture перед очередью или выполнением.

Этот RunnableFuture реализует интерфейс Runnable (в дополнение к Future).

Таким образом, все вызовы могут быть поставлены в очередь и выполнены без каких-либо проблем.

Посмотрите на AbstractExecutorService источник для получения дополнительной информации.

0
ответ дан Laksitha Ranasingha 9 March 2019 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: