powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / И снова скала немного многопоточки
25 сообщений из 60, страница 1 из 3
И снова скала немного многопоточки
    #39790772
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собссно вопрос, как правильно сделать

у меня есть вызов, он возвращает лист футур. я эти футуры разворачиваю,
и далее через форыч мне с данными из каждой футуры надо сходить на сторонний сервис кое-что забрать.
так вот, если я сделаю просто форыч по листу футур с вызовами на сторонний сервис (который тоже футуру возвращает)

у меня всё это вылетает скажем так, параллельно это круто, но сторонний сервис валится типа ту мени реквестс. да и мне столько не надо.

ну и вопрос, как мне заставить эти футуры выстреливать порционно. хотя бы.
я могу впилить Thread.sleep(t) внутрь форыча и будет то, что я хочу. Но мне что-то подсказывает, что есть более правильное решение.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790777
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTсторонний сервис (который тоже футуру возвращает)http сервис что возвращает?
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790783
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
    repository.findAllBySomeAttrs(Seq(attrA, attrB)).map {
      _.foreach { res => someService.inquiry(res.data) }
    }



вот вот это вот:
someService.inquiry(res.data)
возвращает футуру и фигачит мешок потоков в параллели которые параллельно же долбятся на удаленный сервис.

форыч можно заменить на мап если сильно жгет что возвращает юнит
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790784
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaTсторонний сервис (который тоже футуру возвращает)http сервис что возвращает?
он возвращает какой-то объект который кладется в базу. или не кладется если не возвращает.

это задание для шедулера.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790830
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Future должна предоставить тебе готовый результат. Если тебе еще надо куда-то сходить
чтобы его уточнить - то это хреновый Future и неправильно ты задизайнил.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790841
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне от футуры вообще ничего не надо. мне надо чтоб у меня всё исполнилось в одном потоке последовательно вот и всё.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790846
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капец ты противоречивый Определись что тебе. Мультипоточка или event-driven.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790858
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTмне от футуры вообще ничего не надо. мне надо чтоб у меня всё исполнилось в одном потоке последовательно вот и всё.foreach в одном потоке
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790860
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTу меня есть вызов, он возвращает лист футурчем плохо в одном потоке синхронно ждать результаты сервиса?
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39790888
betelgeizex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791160
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
betelgeizex https://notepad.mmakowski.com/Tech/Scala Futures on a Single Thread

это не оно?
Правильно. Для выполнения Future у тебя должен быть ExecutionContext, по дефолта это форкджойн пул, тебе надо создать однопоточный экзекьютор. ExecutionContext это Аля паттерн стратегия для многопоточных вычислений в скала.
А по православному надо взять Task из scalaz или monix или zio. А код должен ожидать некую монаду, описывающую вычисления, так ты сможешь не только описать стратегию, но и вызвать выполнение когда угодно и даже резать код. В случае future исполнение начинается сразу и ты не сможешь их реюзать
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791176
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При слове "монада" никому не стало плохо в аудитории?

Это знаешь как прийти в ПТУ и электро-механикам читать лекцию о квантовой механике :)) Ну правда зачем?
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791213
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе жалко штоле пусть будет монада. Говори проще просто. Монада это такая обёртка вокруг объекта которая даёт тебе выстраивать некую последовательность действий. Вот и все. Или ты думаешь что в ПТУ только отсталые учатся?
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791216
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaTу меня есть вызов, он возвращает лист футурчем плохо в одном потоке синхронно ждать результаты сервиса?
Ты про асинк авайт? Или про онкомплит? Онкомплит да, тут всё решает. Ну почти. У тебя может запустить шедулер мешок задач и они будут бежать параллельно. Впрочем это лучше чем фейерверк потоков в любом случае. Как сделать чтоб шедулер не смог запустить таску ещё раз пока все активности предыдущей не закончились я пока не откопал
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791226
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaTу меня есть вызов, он возвращает лист футурчем плохо в одном потоке синхронно ждать результаты сервиса?

Ожиданием ты занимаешь поток, который мог бы делом заняться.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791256
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxerОжиданием ты занимаешь поток, который мог бы делом заняться.правильно. Значит нужно всего лишь два потока, чтобы освободить основной.
Ни 10, ни пять, ни пул потоков. А всего фоновый поток и в нем цикл for к примеру.
Это исходя из ТЗ.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791358
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTТебе жалко штоле пусть будет монада. Говори проще просто. Монада это такая обёртка вокруг объекта которая даёт тебе выстраивать некую последовательность действий. Вот и все. Или ты думаешь что в ПТУ только отсталые учатся?
Ну дай бох.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791372
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, сделал актора, всё-равно на плее проект а плей на акке, актор одним концом читает данные из базы в очередь по онкомплиту, набивает очередь, как только очередь набилась, сам себе кидает ивент для того чтоб обработать очередь где она тоже в онкомплите поштучно обрабатывается, а когда обработает, и очередь кончается, шедулит первый ивент через какой-то период времени (аккасистем.шедуле) и снова его кидает и так по кругу. и всё получается в одном потоке. и задачи друг на друга не наслаиваются. правда, мне кажется, что костыль.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791385
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Ну если нужна очередность, а не параллельность то все верно.
И очередь тоже лишняя теоретически. Но практически зависит от фреймворка.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791398
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык тема топика - другая. Это - философия Scala/Play. Надо курить смыслы тамошних фреймворков.
Зачем так сделано. Какие там best-practices.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791406
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДык тема топика - другая. Это - философия Scala/Play. Надо курить смыслы тамошних фреймворков.
Зачем так сделано. Какие там best-practices.
Согласен.
Но невозможно последовательную задачу делать на акторах и параллельности.
Чтобы "задачи друг на друга не наслаивались")).
Например, есть 50 растров и нужно скачать с сервисов ПАРАЛЛЕЛЬНО. Далее событие на основной поток что все 50 скачаны. Ранее не нужно ничего делать.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791416
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123maytonДык тема топика - другая. Это - философия Scala/Play. Надо курить смыслы тамошних фреймворков.
Зачем так сделано. Какие там best-practices.
Согласен.
Но невозможно последовательную задачу делать на акторах и параллельности.
Чтобы "задачи друг на друга не наслаивались")).
Например, есть 50 растров и нужно скачать с сервисов ПАРАЛЛЕЛЬНО. Далее событие на основной поток что все 50 скачаны. Ранее не нужно ничего делать.
Да. Но Андрейка нам поставил задачу в терминах "футуры", "форыч". Что мы можем с этого вынести?
Есть просто его персональные пожелания.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791429
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что в плее всё возвращает футуры. ну, практически всё. принтлн не возвращает.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791430
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я читаю с базы - получаю футуру. иду с этими данными на вебклиент - снова получаю футуру. сохраняю результат - и тут футура.
причем вторая не будет работать без данных первой а третья без второй. выходит матрёшка.
...
Рейтинг: 0 / 0
И снова скала немного многопоточки
    #39791434
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чортова реактивность....
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / И снова скала немного многопоточки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]