Формально вывод верный:
Some text for 1
Some text for 2
Some text for 3
Some text for 4
pool-1-thread-1 thread was terminated
Но валидатор все равно пишет "Метод run() класса Producer должен при возникновении исключения выводить в консоль "[THREAD_NAME] thread was terminated"."
package com.javarush.task.task26.task2611;
import java.util.concurrent.ConcurrentHashMap;
public class Consumer implements Runnable {
private ConcurrentHashMap<String, String> map;
public Consumer(ConcurrentHashMap<String, String> map) {
this.map = map;
}
public void run() {
Thread currentThread = Thread.currentThread();
while (!currentThread.isInterrupted()) {
if (!map.isEmpty()) {
for (String key : map.keySet()) {
System.out.println(map.remove(key));
}
}
}
}
}