@atomicLoad — 포인터가 가리키는 값을 원자적으로 읽어요
@atomicLoad — 포인터가 가리키는 값을 원자적으로 읽어요
멀티스레드 환경에서 값을 읽을 때, 다른 스레드가 그 값을 쓰고 있는 상황이라면 그냥 읽으면 안 되는 경우가 있어요.
@atomicLoad는 포인터가 가리키는 값을 원자적으로(atomically) 역참조해서 그 값을 돌려주는 빌트인 함수예요. 출처: Zig Documentation
본문
@atomicLoad(comptime T: type, ptr: *const T, comptime ordering: AtomicOrder) T
이 빌트인 함수는 T를 가리키는 포인터를 원자적으로 역참조(dereference)하고, 그 값을 돌려줘요.
이때 T는 포인터, bool, float, 정수, enum, 혹은 packed struct여야 해요.
AtomicOrder는 @import("std").lang.AtomicOrder로 찾을 수 있어요.
const value = @atomicLoad(u32, ptr, .seq_cst);
더 알아보기 (Learn more)
원자적 연산과 함께 보면 좋은 내용이에요: