База Hintsage

Многопоточность

Java Memory Model, потоки, синхронизация и java.util.concurrent.

Практика

Вопросы: Многопоточность

В следующем коде задача завершается исключением. Определите, где окажется это исключение и почему оно не выводится обработчиком необработанных исключений потока.

import java.util.concurrent.*;

class Demo {
    public static void main(String[] args) throws Exception {
        ExecutorService pool = Executors.newSingleThreadExecutor();
        Future<?> future = pool.submit(() -> {
            throw new IllegalStateException("boom");
        });
        System.out.println("done");
        pool.shutdown();
    }
}
Программирование JavaМногопоточностьJava-разработчик серверных приложений

В следующем коде функция обновления записывает сообщение в журнал. Какой скрытый риск возникает при конкуренции нескольких потоков?

import java.util.concurrent.atomic.AtomicInteger;

class Demo {
    static final AtomicInteger value = new AtomicInteger();

    static int next() {
        return value.updateAndGet(old -> {
            System.out.println("old=" + old);
            return old + 1;
        });
    }
}
Программирование JavaМногопоточностьJava-разработчик, отвечающий за конкурентные сервисы

Показано 120 из 50