170 похожих чатов

Тишка, ты вот говоришь, что низкоуровневое апи не стоит использовать

(жонглирование лупами, например) - уже в асинкио есть интерфейс, который позволяет абстрагироваться от этого?

17 ответов

31 просмотр

От чего?

Slam!- Автор вопроса

От лупов

Что ты понимаешь под абстрагированием от лупов?

Slam!- Автор вопроса

Начальный уровень разработки асинхронного кода, в рамках которого о лупах думать не приходится. Дёрнул что-то, всё запустилось и работает отлично

Лупами не стоит жонглировать, потому что это создает кучу проблем, потому что куча объектов в асинкайо привязывается (и к тому же незметно) к оперделенному лупу. Тем более, что такое жонглирование не дает никакого выигрыша в чем либо. Не понимаю, причем тут абстрагирвоание от лупов

Slam!- Автор вопроса

Да, полностью согласен, но как бы ты запускал асинхронный энтрипоинт своего приложения?

А зачем о них думать? Сейчас луп даже не нужно никуда прокидывать. Если он у тебя один в рамках работы программы, то и думать о их совместной работе не нужно

asyncio.run()

Slam!- Автор вопроса

Хорошо. Мне нужно вместе с запуском энтрипоинта запустить две корутины, которые хотел бы прокинуть не в рамках того модуля, где собираюсь запускать энтрипоинт. Как это сделать?

Что значит "прокинуть"?

Slam!- Автор вопроса

Условно говоря, зарегистрировать к выполнению, как это делает create_task

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

Slam!- Автор вопроса

А как таски создать?)

Как обычно

Slam!- Автор вопроса

Если честно, не знаю. Можно пример?

import asyncio async def task1(): pass async def task2(): pass async def entry_point(): pass async def main(): asyncio.create_task(task1()) asyncio.create_task(task2()) await entry_point() if __name__ == '__main__': asyncio.run(main())

Slam!- Автор вопроса

Ух ты. Я два года назад начинал с асинком работать на 3.6 питоне, поэтому приходилось руками доставать текущий луп и класть туда корутины одноименным методом, а ensure_future как-то пролетела мимо глаз. Вопрос про абстрагирование от лупов у меня закрыт. Спасибо)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта