LocalWaker — 스레드 로컬 작업 깨우기 핸들
LocalWaker — 스레드 로컬 작업 깨우기 핸들
LocalWaker는 Waker와 유사하지만 Send나 Sync를 구현하지 않는 핸들이에요. nightly 전용 실험 API(local_waker, #118959)이에요.
출처: Rust 공식 문서
본문
pub struct LocalWaker { /* private fields */ }
이 핸들은 실행기별 깨우기 동작을 정의하는 RawWaker 인스턴스를 캡슐화해요. 로컬 웨이커는 Context에서 요청할 수 있으며, 단일 스레드 실행기에서 비동기 작업을 깨우는 데 사용돼요.
Waker와 달리 스레드 간 이동이 필요 없는 경우에 사용하며, Send/Sync가 아니므로 같은 스레드 안에서만 사용할 수 있어요.
주요 메서드
pub fn noop() -> LocalWaker
pub fn wake(&self)
pub fn wake_by_ref(&self)
pub fn will_wake(&self, other: &LocalWaker) -> bool