小编Lok*_*esh的帖子

如何实现自旋锁

我试图实现我自己的自定义 SpinLock,但 SpinLock 似乎行为不当。

\n

我有两个文件,main.rs并且safe.rs.

\n

测试在 Ubuntu 22.04.3LTS 中进行,系统规格为 4GB RAM、64 位处理器、AMD\xc2\xae Pro a4-3350b APU 和 Radeon r4 显卡。

\n

这是错误消息:

\n
loki@loki:~/main/vs/actic/rust-nomic/spin-lock$ cargo run RUST_BACKTRACE=1\n   Compiling spin-lock v0.1.0 (/home/loki/main/vs/actic/rust-nomic/spin-lock)\n    Finished dev [unoptimized + debuginfo] target(s) in 0.98s\n     Running `target/debug/spin-lock RUST_BACKTRACE=1`\nHello, world!\nthread 'main' panicked at 'assertion failed: `(left == right)`\n  left: `9999995`,\n right: `10000000`', src/main.rs:15:5\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n
Run Code Online (Sandbox Code Playgroud)\n

safe.rs:

\n
use core::ops::{Deref,DerefMut};\nuse core::sync::atomic::{AtomicBool,Ordering::{Acquire,Release}};\nuse core::cell::UnsafeCell;\nuse core::hint::spin_loop;\n\n#[derive(Debug)]\npub struct …
Run Code Online (Sandbox Code Playgroud)

concurrency spinlock compare-and-swap rust

-4
推荐指数
1
解决办法
112
查看次数

标签 统计

compare-and-swap ×1

concurrency ×1

rust ×1

spinlock ×1