async 함수가 있다고 스케줄러까지 자동으로 생기는 건 아닙니다. 실무에서 코드를 읽을 때는 Future 자체보다 누가 poll을 호출하는지, 그리고 그 실행기가 블로킹 작업을 어떻게 다루는지부터 확인하는 편이 좋습니다.
특히 런타임이 바뀌거나 라이브러리를 조합할 때는 태스크가 어디서 실행되는지, 블로킹 호출이 다른 작업을 막지 않는지 살펴보세요. async라는 문법만 보고 동시성의 동작을 추정하면 운영 환경에서 예상 밖의 지연을 만날 수 있습니다.
Async Rust의 스케줄러 위치를 짚는 글입니다.