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

Такое ощущение что словил баг с корутинами: почему если в

SupervisorJob() передаётся джоба то программа вешается на join()? Если не передаю то всё отрабатывает корректно.

5 ответов

21 просмотр
Кирилл-Романенко Автор вопроса
Кирилл Романенко
screenshot

Это не баг У тебя в первом случае у childJob есть ребёнок который никогда не завершается, тот который как раз создался через конструктор SupervisorJob, а не завершается потому что никто его не завершает ни внутри, ни снаружи, а сам он не завершается если его дочерние джобы падут с ошибкой, так как он supervisor :)

Oleg Yukhnevich
Это не баг У тебя в первом случае у childJob есть ...

А если не передавать - то созданная джоба никак к childJob не относится, так что поведение очевидно

Кирилл-Романенко Автор вопроса
Oleg Yukhnevich
Это не баг У тебя в первом случае у childJob есть ...

Либо ты сумбурно объясняешь, либо я ничего не понял

Кирилл Романенко
Либо ты сумбурно объясняешь, либо я ничего не поня...

1. Join висит потому что childJob не завершилась 2. childJob не завершилась потому что не все её дочерние джобы завершились 3. На первом скрине дочерняя это джоба которая SupervisorJob, на втором скрине дочерних джоб нет(следовательно некого ждать и оно не висит) 4. SupervisorJob никто не завершает, поэтому childJob тоже не может завершиться, пока все дочерние джобы не завершаться Так лучше?)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта