Size: a a a

2021 January 06

ИИ

Иван Иванов... in KotlinLangRu
Vladislav Sumin
Для клиента нет, на клиенте я ktor с okhttp юзаю, хз что там под капотом, но на клиенте не критично, там не бывает много запросов
"не бывает много запросов". ну, если только ты не тг/вк бот)
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Ktor же для поддержания мпп использует разные движки для разных платформ. и сам не работает с низким уровнем.
Конечно. Кроме CIO
источник

ИИ

Иван Иванов... in KotlinLangRu
впрочем пул потоков справляется. но раз уж корутины наше всё, то нужно и клиента переделать
источник

VS

Vladislav Sumin in KotlinLangRu
Иван Иванов
"не бывает много запросов". ну, если только ты не тг/вк бот)
Ну когда это станет узким местом можно или поискать другой движок или написать обёртку нио для ktor
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Конечно. Кроме CIO
а следовательно не обязательно тред-пул иметь.
источник

BP

Bogdan Panchenko in KotlinLangRu
Vladislav Sumin
Для клиента нет, на клиенте я ktor с okhttp юзаю, хз что там под капотом, но на клиенте не критично, там не бывает много запросов
Потоки 😂 ну блин магии нет. Евент лупы тоже работают с помощью потоков
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Потоки 😂 ну блин магии нет. Евент лупы тоже работают с помощью потоков
но их 1-2, а не 20-30)
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
а следовательно не обязательно тред-пул иметь.
Для асинхронности не нужны треды.
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
но их 1-2, а не 20-30)
А где 30 ?
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
а следовательно не обязательно тред-пул иметь.
Ну просто асинхронность у тебя будет работать как синхронный код. И по факту в основной тред все и упрется
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
А где 30 ?
ну вот нужно 30 запросов одновременно кинуть, HttpClient . callAsync даст 30 потоков.
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
ну вот нужно 30 запросов одновременно кинуть, HttpClient . callAsync даст 30 потоков.
Нет если запросы будут быстро выполнятся 😊
источник

BP

Bogdan Panchenko in KotlinLangRu
Ну кстати 30 это норм так то. Но если для вашей задачи это много то как бы можно сделать свой диспатчер с нужным пулом
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Нет если запросы будут быстро выполнятся 😊
Иногда бывают всплески. Рассылка например. Там молотит будь здоров. Легко, конечно, обойтись опять же пулом. Но раз уж маркетологи Джетов настойчиво IO рекомендуют в корутины пихать вместо потоков, стоит попробовать
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Иногда бывают всплески. Рассылка например. Там молотит будь здоров. Легко, конечно, обойтись опять же пулом. Но раз уж маркетологи Джетов настойчиво IO рекомендуют в корутины пихать вместо потоков, стоит попробовать
Ну а там 32 потока. Которые создаются лениво, но всплески..
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Ну а там 32 потока. Которые создаются лениво, но всплески..
Да. Ну. Я понимаю, что легко управляется.
Но как я понимаю с корутинами, можно открыть 1000  а то и больше одновременных соединений
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Да. Ну. Я понимаю, что легко управляется.
Но как я понимаю с корутинами, можно открыть 1000  а то и больше одновременных соединений
Если соединения блокирующие то вы откроете столько сколько будет потоков
источник

VS

Vladislav Sumin in KotlinLangRu
Тред пул или корутины лучше чем просто 30 потоков уже только за счёт переиспользования
источник

VS

Vladislav Sumin in KotlinLangRu
Но мне кажется когда твое приложение мобильный клиент то вообще пофиг, тут главное удобство и корутины его дают.
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Если соединения блокирующие то вы откроете столько сколько будет потоков
Так вот я и изучаю вопрос с целью узнать, как вообще обстоят дела с асинхронными корутин-запросами.
источник