Size: a a a

Scala User Group

2021 January 04

S

Simon in Scala User Group
RAFIZ
но всё-таки эти слова вроде говорят, что если продюсеру нечего делать, он поток освобождает..
Это все несколько неоднозначно.
1. Нет какого-то потока, который бы был связан с Source. Участвовать может произвольное количество потоков из произвольного набора пулов.
2. Есть случаи когда backpressure не останавливает работу Source, например если используется буфер с политикой dropHead.
То есть все зависит от конкретного случая. Но да, в некоторых случаях Source при backpressure может не потреблять ресурсов и не занимать потоков.
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
а не he must или что-то вроде того
ну да))окей))может отдавать поток
источник

R

RAFIZ in Scala User Group
Simon
Это все несколько неоднозначно.
1. Нет какого-то потока, который бы был связан с Source. Участвовать может произвольное количество потоков из произвольного набора пулов.
2. Есть случаи когда backpressure не останавливает работу Source, например если используется буфер с политикой dropHead.
То есть все зависит от конкретного случая. Но да, в некоторых случаях Source при backpressure может не потреблять ресурсов и не занимать потоков.
понятно, все от частных случаев зависит.

то есть для каждого отдельного графа я смогу ответить на свой вопрос по-разному, посмотрев на конфигурацию системы?)
источник

S

Simon in Scala User Group
Под Source/Sink/Flow может скрываться сколь угодно сложный граф, в том числе и использующий блокирующие IO вызовы.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
понятно, все от частных случаев зависит.

то есть для каждого отдельного графа я смогу ответить на свой вопрос по-разному, посмотрев на конфигурацию системы?)
да
источник

R

RAFIZ in Scala User Group
спасибо
источник

R

RAFIZ in Scala User Group
яснее стало. но и стало понятно, что все сложнее гораздо
источник

R

RAFIZ in Scala User Group
буду читать дальше
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Потоки - это не какие-то суперфреймворки для приложений, обязывающие вести себя определённым образом.
Это способы связывать, комбинировать процессы так, чтобы эта связь не ухудшала качества вашего приложения.
Иногда случается, что 70-90% логики приложения - это всевозможные прокидывания информации между кусками, которые уже кто-то написал.
Благодаря хорошему набору комбинаторов, такие приложения можно хорошо написать в стримовом стиле, гарантируя качества всего, кроме этих основных кусков.
источник

R

RAFIZ in Scala User Group
да. дойду. сейчас пока на разделе basics этой же доки
источник

R

RAFIZ in Scala User Group
ещё вопрос, но только тем, кто вдруг тоже смотрел это видео.

что автор хотел сказать когда приводил третий пример?

во втором примере он во фьючу посылает инструкцию заснуть тред на 10 сек. (async, но blocking)

а в третьем примере этого засыпания просто нет и он уже говорит, что (async & non-blocking)
источник

R

RAFIZ in Scala User Group
ну я к тому, что если я в 44 строчку в его видео (где описывается поведение актора) впишу Thread.sleep(10000), то поток заблокируется же. просто это будет поток того диспатчера, который находится под ActorSystem актора из 3 примера.

а если этот диспатчер и пул потоков для фьючи из второго примера потребляют ресурсы одной и той же машины, то в чём выгода как бы?)
источник

λ

λoλegΥch in Scala User Group
хз ебала какая-то
источник

λ

λoλegΥch in Scala User Group
ты на правильном пути
источник

R

RAFIZ in Scala User Group
λoλegΥch
хз ебала какая-то
в видео или в моих словах?)😂
источник

R

RAFIZ in Scala User Group
λoλegΥch
ты на правильном пути
ок
источник

λ

λoλegΥch in Scala User Group
все эти блокирования и асинки сводятся к количеству памяти под стек, количеству памяти под очереди и разделению времени
источник
2021 January 05

AS

Artem Sierikov in Scala User Group
Привет
Кто знает как подружить идею с sbt в wsl2 на винде?

Получаю вот такую ошибку
sbt import cancelled: Cannot run program "//wsl$/Ubuntu-20.04/home/user/.sdkman/candidates/java/8.0.275.open-adpt/bin/java.exe" (in directory "D:\Projects\Code\Scala\test-project"): CreateProcess error=2, The system cannot find the file specified
источник

Н

Никитяо in Scala User Group
Artem Sierikov
Привет
Кто знает как подружить идею с sbt в wsl2 на винде?

Получаю вот такую ошибку
sbt import cancelled: Cannot run program "//wsl$/Ubuntu-20.04/home/user/.sdkman/candidates/java/8.0.275.open-adpt/bin/java.exe" (in directory "D:\Projects\Code\Scala\test-project"): CreateProcess error=2, The system cannot find the file specified
почему путь виндовый?
источник

AS

Artem Sierikov in Scala User Group
Ну так проект лежит на винде
источник