Pilot chapter
Tokio 입문: runtime, task, `Send` 제약을 실전 감각으로 이해하기
goroutine이나 Python coroutine과 다른 점, task spawn과 channel, `select!` 조합을 Rust trait 관점으로 설명한다.
- ownership
- trait basics
- thread와 channel 개념
Rust의 async는 Python의 coroutine이나 Go의 goroutine을 그대로 옮겨온 것이 아니다. Future, Send, Sync, pinning이 얽혀 있기 때문에, 런타임과 trait 제약을 같이 이해해야 실전에서 덜 막힌다.
Send/Sync 관점으로 설명할 수 있다.Arc<Mutex<T>>가 필요한 경우와 피해야 하는 경우를 코드 리뷰에서 구분할 수 있다.mpsc와 watch의 역할을 분리해서 읽을 수 있다.Arc<Mutex<T>>가 필요한가, 아니면 ownership transfer나 channel이 더 나은가Future와 pinning을 문법이 아니라 실행 모델로 이해하기JoinSet, channel, select!를 통해 fan-out, cancellation, race를 설계하는 법Semaphore와 queue 설계watch를 사용한 graceful shutdown과 pipeline drain 전략Arc<Mutex<T>>를 쓰기 전에 상태를 분할하거나 ownership을 넘기는 대안들Pilot chapter
goroutine이나 Python coroutine과 다른 점, task spawn과 channel, `select!` 조합을 Rust trait 관점으로 설명한다.
Planned
파일럿 템플릿이 안정화되면 이 주제로 확장한다.
PlannedPlanned
파일럿 템플릿이 안정화되면 이 주제로 확장한다.
PlannedPlanned
파일럿 템플릿이 안정화되면 이 주제로 확장한다.
PlannedPlanned
파일럿 템플릿이 안정화되면 이 주제로 확장한다.
PlannedPlanned
파일럿 템플릿이 안정화되면 이 주제로 확장한다.
Planned