
Igor
16.06.2017
20:18:34
Про корутины будет топить?

Anton
16.06.2017
20:39:59
всё импровизация

Igor
16.06.2017
20:47:30
Какая-то дичь про Олимпиады.
Мы там всем котлин чатом ждём что нибудь полезное.

Google

Anton
16.06.2017
20:52:24
что может быть про котлин полезного чего вы ещё всем чатом не слышали?
если котлин и так интересует и постоянно новьё изучаете, то какие вообще могут быть ожидания? типа "какой был последний коммит"? :)

Igor
16.06.2017
20:55:14
Не поверишь, про коррутин вообще практически никто (кроме Руслана) ничего не знает.
Это самая закрытая часть языка.
Наверно потому что ещё в разработке.

Quantum Harmonizer
16.06.2017
20:57:46
Описано не самым подробным образом, но при желании, мне кажется, можно понять.

Igor
16.06.2017
20:58:35
Круто, дальше что?

Anton
16.06.2017
20:58:42

Igor
16.06.2017
20:59:26

Anton
16.06.2017
21:01:56
ну там он наверное уже обновит чего нибудь

Митко Соловец?
16.06.2017
21:19:40
слушаю подкаст
гость прям так открыто говорит, что у джавы нет будущего
а будущее - это котлин и он её заменит

Google

Митко Соловец?
16.06.2017
21:20:09
сильное заявление

Anton
16.06.2017
21:21:09
@dmsol ты както между строк это таки прочитал

Мытко
16.06.2017
21:22:02
А в котлине есть стримы?

Anton
16.06.2017
21:23:22
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.streams/

Igor
16.06.2017
21:24:42

Anton
16.06.2017
21:25:34
какой он тебе девелопер адвокейт!?

Igor
16.06.2017
21:27:18
Ну он не объективен, в любом случае (не удивлюсь если он на пол ставки ?)

frop
16.06.2017
21:34:02
Опасность

Митко Соловец?
16.06.2017
21:34:35
и его слова, что он на джаве писать не может теперь)
я голоса не знаю, но правильно ли я понял, что щас Барух грудью Джаву закрыл?)
через три года Котлин победит джаву на андроиде (c)

Quantum Harmonizer
16.06.2017
21:51:42

Митко Соловец?
16.06.2017
22:57:29
@gamussa @JBaruch @fundamentalparticle спасибо, выпуск огонь! просто срыв покровов.
Барух и Java братья на век

Baruch
16.06.2017
22:59:46

Viktor
16.06.2017
23:04:18
@gamussa 75 + люди с телеграмма =)

Vik
16.06.2017
23:04:39
https://image_clips.s3.amazonaws.com/Icecast_Streaming_Media_Server_2017-06-16_19-03-28.png

frop
17.06.2017
07:37:21
Пасаны, нас атакуют

Google

Vyacheslav
17.06.2017
07:46:00
Кто просил сказать, когда я сделаю потоки: там ничего не надо было менять, проблема была в десерилизации жсона с урлами

oktgu
17.06.2017
08:37:43
⚠️УСПЕЙ ВОСПОЛЬЗОВАТЬСЯ ПОКА НЕ УДАЛИЛИ⚠️
ЗАКАЗ ЕДЫ?
АВИА, ОТЕЛИ за 50%✈️
ОДЕЖДА за 40%?
ДОКУМЕНТЫ (права, вб, паспорта итд)?
ТЕХНИКА за 50%?
МАНУАЛЫ ПО ЗАРАБОТКУ?
Все это в самом полезном российском боте:
@RusInfoBot
@RusInfoBot
@RusInfoBot

Ruslan
17.06.2017
08:41:36
да пошел ты нахер со своей рекламой

Maks
17.06.2017
08:45:58
@dmsol @guga4ka

Igor
17.06.2017
08:50:16

Maks
17.06.2017
08:52:07
Меня забыл
Извините, только проснулся, вся база не поднялась

Alexander
17.06.2017
09:29:47
Привет! а кто-нибудь подскажет, маппинг тредов в джавушке к нативным - это же часть реализации? и в спеке этого нет?

Maks
17.06.2017
09:33:18

Nick
17.06.2017
09:33:40

Alexander
17.06.2017
09:33:45

Nick
17.06.2017
09:34:29
Насколько помню, в спеке этого нет

Pavel
17.06.2017
11:27:22

Alex
17.06.2017
11:27:48
Открой исходники jdk и проверь :)

Alexander
17.06.2017
11:28:23

Nick
17.06.2017
13:31:45

Vyacheslav
17.06.2017
14:11:41
Господа, кто может мне прояснить почему блок finally выполняется в самом начале? https://image.prntscr.com/image/_gcXCvPXSSuiYca_a5K8Vg.png
Оно ж не должно так делать. Или я чего-то не понимаю?

Daniel
17.06.2017
14:14:14
например, потому что у кого-то что-то упало без обработки

Vyacheslav
17.06.2017
14:18:40
Хм. Сейчас проверю
Ничего не падает. Метод бодро запускается и работает, в логах тоже всё в порядке. Но finally всё ещё впереди https://image.prntscr.com/image/MkobHxBDQu2x0uLar9EVJA.png

Google

Friedrich
17.06.2017
14:23:57
У тебя там несколько потоков? Не может такого быть, что у тебя левый тред мешается в отладке?
Выведи себе в watch идентификатор текущего потока, и следи за изменениями.

Vyacheslav
17.06.2017
14:24:50
Вообще в нормально состоянии работает 15. Но сейчас поставил Executors.newFixedThreadPool(1);

Admin
ERROR: S client not available

Vyacheslav
17.06.2017
14:27:01

Daniel
17.06.2017
14:27:43
а добавь навсякий в лог имя потока

Maks
17.06.2017
14:29:41
...прошу прощения, я может чего-то не шарю, но если у нас сейчас один поток, может уже просто пройти дебагом?
Или это неспортивно?

Vyacheslav
17.06.2017
14:32:30
Так прохожусь же. Вопрос в том, почему finally выполняет, а за ней только всё остальное включается
А может ли быть ситуация, что есть какой-то главный поток, в котором выполняется этот метод. И второй поток, который подрубается чтобы выполнить мой метод download?
К слову, https://image.prntscr.com/image/UKDCV5NdTa6uC1tDdeUJ2Q.png

Maks
17.06.2017
14:35:54
Если тред пул, то как бы оно так и должно работать
Что отдельно основной поток приложения, отдельно то что в тредупуле
Если бы такая штука была только с одним потоком, я бы начал смотреть на ресурсы, которые делятся между разными вызовами этого метода, почему он раз на раз работает.
Ну и тело метода try обернуть в catch всего и залогировать

Daniel
17.06.2017
14:37:58

Vyacheslav
17.06.2017
14:40:53
Хм, main 2017-06-17 17:40:09 INFO MessagesWorker:77 - Attempt to shutdown executor
Если finally работает в main, то что с этим можно сделать?

Daniel
17.06.2017
14:45:36
закрывать ресурсы в коллбэке
хз как java это делается
в других языках Future.traverse(List(ofInboundData))(x => downloadImage(x)).foreach(_ => closeSomething)

Google

Daniel
17.06.2017
14:48:21
джавовая фьюча вроде тоже почти монада, так что тоже можно последовательные вызовы делать

Vyacheslav
17.06.2017
14:55:49
Ещё раз пересмотрел, везде ресурсы закрываются
На 2 стримах autocloseble висит, стрим для сохранения пикчи закрываю руками
А больше ничего и нету вроде как

Daniel
17.06.2017
14:56:54
так вопрос скорее в том, когда ты их хочешь закрыть
иначе зачем тебе finally
если нужно только после завершения скачиваний, то надо ждать окончания операций
а если нет, то и проблемы нет

Vyacheslav
17.06.2017
14:58:46
Только после завершения скачиваний
В ExecutorService нужно самому закрывать всё, иначе он останется висеть в памяти. Потому и надо finally, где я его закрываю

Daniel
17.06.2017
15:01:54
тогда у тебя 3 варианта
1) повесить таймер на время выбранное с потолка, не оч надежно
2) создать какой-нибудь семафор и лочится на нем, не очень вариант если лочить поток не нужно
3) колбэки и флэтмэпы на фьюче
и что-то (возможно имя потока где все запускается) мне подсказывает, что тебя устроит вариант 2

Vyacheslav
17.06.2017
15:05:21
Так штука в том, что потоки то палят нормально. Программа парсит файлик, забирает линки, качает картинки и вырубается. Меня просто настораживает, что в логах у меня самой первой строкой идёт строка из finally. А только потом начинают подгружаться из других методов

Daniel
17.06.2017
15:07:17
надо доку по экзекьютору смотреть
возможно у тебя он закрывается только по выполнению всех задач в очереди
а в момент лога из finally все задачи уже в очереди или выполняются
просто выполянются они дольше чем строчку лога записать