- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
import asyncio
async def hello():
return "hello"
async def world():
return "world"
async def comma():
return ","
async def space():
return " "
async def excl():
return "!"
async def capitalize(coro):
return (await coro).capitalize()
async def main():
print(''.join(await asyncio.gather(*[asyncio.create_task(task) for task in (capitalize(hello()), comma(), space(), capitalize(world()), excl())])))
asyncio.run(main())
guest6 12.05.2022 08:48 # +1
Steve_Brown 12.05.2022 12:17 # +1
guest6 12.05.2022 16:39 # +1
возьми вебсокеты, да напиши чат
Stallman 12.05.2022 21:37 # +2
Если поубирать все эти async/await, то вообще нихуя не изменится. Пример не отвечает на вопрос "зачем", а это при обучении очень важно.
guest6 12.05.2022 21:48 # 0
ни одного IO или sleepа
guest6 12.05.2022 22:12 # 0
guest6 12.05.2022 22:19 # 0
guest6 12.05.2022 22:27 # 0
guest6 12.05.2022 22:31 # +1
Мы используем корутины и для c10k (не только в вебе, я и в десктопе не советовал бы создавать по 10K потоков в минуту, особвенно на винде) и чтобы не блокировать гуйный тред (но мы пишем не на питоне). У нас есть еще стракчрл канкаренси: мы умеем легко кенсльнуть все 100500 корутин (что не всегда просто сделать с потоками). Хотя в питонке тоже можно cancelнуть задачу
Kypumca 13.05.2022 07:25 # 0
guest6 12.05.2022 22:20 # +2
guest6 12.05.2022 22:22 # 0
Какой уебан придумал такой синтаксис?
guest6 12.05.2022 22:24 # 0
Такой уебанский синтаксис для вас придумали
Guido van Rossum <guido at python.org>,
Jukka Lehtosalo <jukka.lehtosalo at iki.fi>,
Łukasz Langa <lukasz at python.org>
Им помогли
Jim Baker, Jeremy Siek, Michael Matson Vitousek, Andrey Vlasovskikh, Radomir Dopieralski, Peter Ludemann, and the BDFL-Delegate, Mark Shannon.
-------
Эта хуйня тут чисто поциональна, как ты понимаешь, я мог ничего там не писать
guest6 12.05.2022 22:25 # 0
guest6 12.05.2022 22:27 # 0
Юкка фин, ну тут понятно
Лукаш поляк, причем "л" читается скорее как "w" или "ў", так что он такой как-бы Уукаш.
Мистер Хэнки 16.05.2022 16:17 # 0
- РРРррруургх! Аррггг!
nyTuH_nugop 16.05.2022 16:25 # 0
guest6 12.05.2022 22:26 # 0
guest6 12.05.2022 22:28 # 0
asyncio.Task[] tasks
или
asyncio.Task tasks[]
то это был был бы повод не пользоваться питоном
ISO 13.05.2022 00:02 # 0
Kypumca 13.05.2022 07:23 # 0
guest6 12.05.2022 22:47 # +1
тут главное не забыть поставить aioconsole
ISO 13.05.2022 00:01 # 0
Исправил, проверь.
guest6 13.05.2022 00:39 # 0
и безопасно: случайно не запустить
kcalbCube 18.05.2022 07:13 # +1
guest6 18.05.2022 14:45 # 0
guest6 18.05.2022 14:50 # 0
guest6 18.05.2022 14:59 # 0
* стат линковка
* стат типизация
kcalbCube 14.06.2022 10:25 # 0