они синхронизируюся через Deferred.get. Оказывается, что после того как я компличу deferred, исполнение происходит последовательно (предполагаю что на там же треде который закомплитил deferred). Добавление IO.shift после Deferred.get привело к параллельному исполнению. Отсюда несколько вопросов:
- это ожидаемое поведение?
- кто источник этого? Deferred или Fiber?
- как вообще можно догадаться куда добавить IO.shift а куда нет если хочеся параллельности?
Есть штука называется ContextShift вроде
Покажи код что ли
Ожидаемое, конечно
Странно ожидаеть чего-то иного от IO
Обсуждают сегодня