Понимание асинхронного программирования PythonPython

Программы на Python
Anonymous
Понимание асинхронного программирования Python

Сообщение Anonymous »

Вот фрагмент кода асинхронного программирования Python.

Код: Выделить всё

async def my_task(task_id):
print(f"Task {task_id} started, waiting for 2 seconds...")
await asyncio.sleep(2)
print(f"Task {task_id} finished.")

async def main():
tasks = [my_task(i) for i in range(3)]
await asyncio.gather(*tasks)

asyncio.run(main())
Когда все три задачи my_task находятся в состоянии сна, с точки зрения операционной системы, находится ли поток Python в состоянии готовности, заблокированном или рабочем состоянии?
p>
Если поток Python переключается между состоянием готовности и состоянием выполнения, означает ли это, что поток Python постоянно опрашивает, завершились ли эти три задачи ожидания? Если это так, не будет ли это тратить ресурсы процессора впустую? Или существует какой-то механизм, позволяющий решить эту проблему?
Я хочу знать, какие концепции мне следует понимать, чтобы понять принципы асинхронного программирования.

Подробнее здесь: https://stackoverflow.com/questions/784 ... rogramming

Вернуться в «Python»