Не срабатывает timeout в Completable.fromAction()

232
28 ноября 2017, 22:21

Добрый день. Столкнулся с ошибкой, что при блокирующем ожидании завершения работы Completable, созданного при помощи .fromAction(), не срабатывает .timeout():

    Completable.fromAction(() -> {
        System.out.println("start time: " + timeString());
        Thread.sleep(10_000);
    })
            .timeout(3, TimeUnit.SECONDS)
            .onErrorComplete()
            .blockingAwait();
    System.out.println("after time: " + timeString());

Код внутри скобок выполняется 10 секунд, таймаут установлен на 3 секунды. Однако, оператор завершает выполнение только спустя 10 секунд. Вот вывод программы:

start time: 14:55
after time: 15:05
Process finished with exit code 0

Вопрос: почему так происходит?

READ ALSO
Разбиение чисел на цифры

Разбиение чисел на цифры

Сосчитать сумму цифр, при этом умножая каждую цифру на её порядковый номер (позицию) в числе, считая слева, начиная с единицыНапример 1567 - получается...

316
Формат вывода числа в Apache POI

Формат вывода числа в Apache POI

У меня есть такие настройки для записи информации в строку

269
Реализовать поиск по списку

Реализовать поиск по списку

Доброго времени суток! Помогите пожалуйста реализовать поиск по спискуДве недели мучаюсь!

354
Конвертирование между форматами. Java

Конвертирование между форматами. Java

Хочу научится конвертировать mp4 в mp3 и тому подобное на JavaПодскажите в какую сторону начинать копать

311