Function core::arch::wasm32::memory_atomic_wait32
source · pub unsafe fn memory_atomic_wait32(
ptr: *mut i32,
expression: i32,
timeout_ns: i64
) -> i32
🔬This is a nightly-only experimental API. (
stdsimd
#48556)Available on
target_family="wasm"
and target feature atomics
and WebAssembly only.Expand description
对应 wasm 的 memory.atomic.wait32
指令
如果 ptr
指向的内存等于 expression
(原子执行此操作),则调用此函数时,它将阻塞当前线程。
参数 timeout_ns
是调用线程将被阻塞的最大纳秒数 (如果被阻塞的话)。
如果超时为负,则调用线程将永远被阻塞。
一旦调用线程被阻塞,调用线程只能通过调用 wake
内部函数来唤醒。
一旦线程被阻塞,在 ptr
后面更改内存将不会唤醒线程。
返回值
- 0 - 表示线程被阻塞,然后被唤醒
- 1-
ptr
的加载值与expression
不匹配,线程未阻塞 - 2 - 线程被阻塞,但超时已过期。