반응형

1. 이책이 커버하는 것.

  • async await 구문과 코루틴
  • task로 코루틴을 동시적으로 run하게 하는법
  • task취소하기
  • 이벤트 루프를 커스텀하게 만들기
  • 코루틴 실행 타임 재기
  • 코루틴돌때 문제 관찰하기

2. 요약

  • async로 코루틴을 만들수 있음.
    • 코루틴은 블로킹이 있을때 멈출 수 있음.
    • 이는 다른 코루틴이 돌아가게함.
    • 코루틴이 멈춘 시점에서의 오퍼레이션이 끝나면 우리의 코루틴은 깨어나고 다시 시작한다.
  • await로 코루틴을 불러서 run하게 하고, return을 하기를 기다린다.
    • await와 함께하는 coroutine은 멈춘다.
    • 첫번째 코루틴이 결과를 기다릴대까지 다른 코루틴이 run한다.
  • asyncio.run()으로 싱글 코루틴을 실행할 수 있다.
    • main entry point가 될 수 있음.
  • task로 길게 걸리는 작업들을 동시적으로 수행할 수 있음.
    • task는 코루틴을 감싸서 이벤트루프에서 돌아가게 함.
    • task를 만들면, 이벤트루프에서 스케쥴됨.
  • task를 취소하고, task에 타임아웃하는법. --> 점유하는것을 방지할수 있다.

 

3. 목차

  • 코루틴소개
    • async로 코루틴 만들기
    • await키워드로 실행 멈추기
  • sleep으로 길게 실행되는 코루틴
  • task로 동시적으로 running하기.
    • task만들기 기본
    • 여러개 태스크들 running하기.
  • 태스크취소하고, 타임아웃 세팅하기
  • 태스크들, 코루틴들, futures, awaitables
    • future, tasks, coroutines 의 관계
  • 데코레이터로 코루틴 실행 시간 재기
  • 코루틴과 태스크의 잠재적 위험
    • cpu bound
    • 블로킹 api
  • 이벤트 루프 다루기
  • 디버그 모드
반응형

+ Recent posts