더북(TheBook)

구문: 코드 조각을 비동기로 표시

타입: 비동기 진행 상태를 유지할 수 있는 더 복잡한 타입

스레드 스케줄러(런타임): 스레딩을 관리하거나 작업을 백그라운드에서 실행하고 진행하는 다양한 방법

커널 추상화: 백그라운드에서 비동기식 커널 메서드 사용

러스트에서 비동기 런타임

여기서 말하는 런타임은 자바 런타임 또는 Go 가비지 컬렉션과는 다른 것이다. 컴파일하는 동안 런타임은 정적 코드로 컴파일된다. 몇몇 형태의 비동기 코드를 지원하는 개별 라이브러리나 프레임워크에는 바탕이 될 런타임이 정해져 있다. 런타임의 역할은 백그라운드에서 스레드를 처리하고 작업(태스크)을 관리하는 나름의 방식을 선정하는 것이다.

따라서 여러 런타임을 혼용하자는 결론을 낼 수도 있다. 예를 들어 Tokio 런타임을 쓰는 웹 프레임워크를 사용하면서 또 다른 런타임 위에 구축된 비동기 HTTP 요청을 수행하는 도우미(helper) 라이브러리가 있는 경우라면 기본적으로 바이너리에는 컴파일된 런타임 두 개가 들어간다. 애플리케이션 설계에 따라 부작용이 발생할 수도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.