170 похожих чатов

А есть тут эксперты многопоточки? есть код: CompletableFuture.runAsync( () -> {

doShit(); // оч долго
updateRecord("completed");
}, executor);
так вот, почему-то updateRecord не выполняется 🤔
чем дольше doShit() - тем больше вероятность что не выполнится
в чём прикол, есть какой-то тайм-аут у таска и он тупо забивает на последние операции?

10 ответов

9 просмотров

Либо 1. Ты самостоятельно выключаешь экзекьютор 2. В экзекьюторе даемон-треды, а ты выходишь из мейна и не наплодил других не-даемон тредов 3. https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html У тебя стреляет эксепшеном, а ты его не обрабатываешь в .handle() / .whenComplete() / etc.

Nick-Bezverkhyi Автор вопроса
Etki
Либо 1. Ты самостоятельно выключаешь экзекьютор 2...

блин, экзекьютор не выключаю, тред там один работает вообще, джоба одна запущена, а мейн работает, эксепшнов нет, doShit() нормально отрабатывает 🤔

А где многопоточка? Это же тупо executor.execute(). Если ваш код в лямбде начинает выполняться, проблема может быть только в нём.

Nick-Bezverkhyi Автор вопроса
Vladimir Petraković
А где многопоточка? Это же тупо executor.execute()...

так в этом то и вопрос, последовательный код выполняется как надо отсюда и подозрения на экзекьютор

Nick Bezverkhyi
так в этом то и вопрос, последовательный код выпол...

Ну учитывая, что в джаве нельзя взять и прервать поток, если этот код уже начал выполняться, проблему надо искать в нём, экзекьютор тут не при чём. Если, конечно, приложение не завершается из-за отсутствия не-фоновых потоков.

Оберни в try catch throwable или заведи exception handler. У тебя вылетает исключение которое ты не видишь скорее всего

Nick-Bezverkhyi Автор вопроса
Anton Ermak
Оберни в try catch throwable или заведи exception ...

действительно, спасибо, чёт я тупанул смотрю что в редисе всё есть а там RedisConnectionFailureException выпал

Nick Bezverkhyi
действительно, спасибо, чёт я тупанул смотрю что в...

Писал же, а в ответ "нормально отрабатывает" -_-

Nick-Bezverkhyi Автор вопроса
Etki
Писал же, а в ответ "нормально отрабатывает" -_-

ахахах, да это было где-то в 3 ночи 😅

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

Обсуждают сегодня

получается, что он находит одинаковое колво тегов, с разными именами, или я что тто не понял в таксоупе ?
Fedor
46
вот такое это из хаскеловской или никсовой ситуации ? пока мне сложно отличить, может кто понимает last 10 log lines: > Running phase: updateAutotoolsGnuConfig...
Fedor
18
Снова я с выводом номера вхождения подстроки в строку. Исправил код, номер элемента, с которого начинается подстрока в строке, выводит, но неправильно. Подскажите, пожалуйста,...
Ыиу
2
@dt0W3s1yQE75Mew ну чё как чувствуешь себя здесь бот? запомни тупое ты чучело - в ассемблере нету тянок
.
18
#include <stdio.h> base( int size_2, int size_1, int ar_1[], int ar_2[][size_2] ){ int cm,im; int ar_3[size_2]; for(int num = 0; num <size_2; num++ ) { ...
Behemoth cat
11
а вот так если по инструкции выше Y % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total ...
Fedor
7
а вот вопрос куда копать не понимаю, вроде работает функция, но возращает странное take 1 ategs [TagBranch "a" [("href","/?sa=X&ved=0ahUKEwiQ7Pbhzs6FAxURBNsEHVRuDAgQOwgC")] [...
Fedor
6
Вопрос, не ставиться haskus-utils-variant (>=3.3 && <3.4) - говорит битый пакет под никсом, есть у кого мысли как чинить ?
Fedor
16
Доброго времени! Есть ли в Lazarus заклинания повышающие точность double? function Distance( constref pt0,pt1:TDVec2 ):double; var cp,st:TDVec2; sin_sr1,sin_sr2, ...
Александр Смоляков
3
ого, прикольно, а что пишешь?
CodWiz | Серёжа by CodWiz
32
Карта сайта