Async Functions(비동기 함수)

Async Functions(비동기 함수)

Zig의 비동기 함수는 지금 잠시 물러나 있는 상태예요. 다만 완전히 사라진 게 아니라, 앞으로 더 낮은 수준의 프리미티브로 다시 등장할 예정이라서 미리 어떤 상황인지 정리해 둘게요.

출처: Zig Documentation

본문

비동기 함수(async functions)는 0.11.0 릴리즈에서 한 걸음 물러났어요(regressed). 즉 현재 개발 방향에서는 예전처럼 쓰이지 않는다는 뜻이죠. 다만 완전히 버린 건 아니고, 앞으로 I/O 구현을 뒷받침하는 더 낮은 수준(lower level)의 프리미티브로 다시 도입할 계획입니다.

지금은 크게 쓸 일이 없지만, 나중에 이 기능이 어떤 모습으로 돌아올지 따라가 보려면 아래 추적 이슈(tracking issue)를 보면 됩니다.

요약하면, Zig의 비동기 처리는 지금의 async/await 스타일로 끝난 게 아니라, **스택리스 코루틴(stackless coroutine)**을 저수준 기본 요소로 삼아 I/O 구현을 짤 수 있게 재설계되는 중이라는 흐름이에요. 아직 실용 코드에서 바로 쓰기보다는, 이 방향성을 염두에 두며 기다리는 단계라고 보면 됩니다.

더 알아보기