Понимание асинхронного программирования 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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