fence — 원자 펜스
fence — 원자 펜스
fence는 원자 펜스(atomic fence)예요. 펜스는 스스로와 다른 스레드의 원자 연산 또는 펜스 사이에 동기화를 만들어요. 펜스는 컴파일러와 CPU가 특정 연산을 재정렬하지 못하게 막는다고 생각하면 이해하기 쉬워요.
출처: Rust 공식 문서
본문
pub fn fence(order: Ordering)
order 인자는 Ordering 값(SeqCst, Acquire, Release, AcqRel, Relaxed)을 받아요. Acquire/Release 펜스는 메모리 순서를 강화해서, 한 스레드가 쓴 데이터를 다른 스레드가 읽는 방식을 안전하게 동기화해요.