misc.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import asyncio
  2. from util import async_timed
  3. @async_timed()
  4. async def delay(delay_seconds: int) -> int:
  5. print(f'засыпаю на {delay_seconds} с')
  6. await asyncio.sleep(delay_seconds)
  7. print(f'сон в течение {delay_seconds} с закончился')
  8. return delay_seconds
  9. """
  10. @async_timed()
  11. async def main():
  12. task_one = asyncio.create_task(delay(2))
  13. task_two = asyncio.create_task(delay(3))
  14. await task_one
  15. await task_two
  16. """
  17. @async_timed()
  18. async def cpu_bound_work() -> int:
  19. counter = 0
  20. for i in range(100000000):
  21. counter = counter + 1
  22. return counter
  23. # Так делать нет никакого смысла
  24. @async_timed()
  25. async def main():
  26. sleep_for_three = asyncio.create_task(delay(3))
  27. sleep_again = asyncio.create_task(delay(3))
  28. sleep_once_more = asyncio.create_task(delay(3))
  29. await sleep_for_three
  30. await sleep_again
  31. await sleep_once_more
  32. """
  33. task_one = asyncio.create_task(cpu_bound_work())
  34. print(type(task_one))
  35. result = await task_one
  36. print(result)
  37. """
  38. """
  39. task_one = asyncio.create_task(cpu_bound_work())
  40. task_two = asyncio.create_task(cpu_bound_work())
  41. await task_one
  42. await task_two
  43. """
  44. asyncio.run(main())