@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)

원자적 연산과 함께 보면 좋은 내용이에요: