Параллельность Java на практике 7.2.4 [дублировать]JAVA

Программисты JAVA общаются здесь
Anonymous
Параллельность Java на практике 7.2.4 [дублировать]

Сообщение Anonymous »

Листинг 7.20. Использование частного исполнителя, чья срок службы ограничена методом вызова.

Код: Выделить всё

public boolean checkMail(Set hosts, long timeout, TimeUnit unit)
throws InterruptedException {
ExecutorService exec = Executors.newCachedThreadPool();
final AtomicBoolean hasNewMail = new AtomicBoolean(false);
try {
for (final String host : hosts)
exec.execute(new Runnable() {
public void run() {
if (checkMail(host))
hasNewMail.set(true);
}
});
} finally {
exec.shutdown();
exec.awaitTermination(timeout, unit);
}
return hasNewMail.get();
}
< /code>
Это написано в книге: < /p>

Причина, по которой Atomicboolean используется вместо летучих логических Использование изменчивого типа 
для переменной hasnewmail здесь должна достичь одной и той же функциональности, верно? Я не совсем понимаю, чем это отличается от подхода в книге.

Подробнее здесь: https://stackoverflow.com/questions/796 ... tice-7-2-4

Вернуться в «JAVA»