pi_async_rt/lock/mod.rs
1//! # 提供了异步运行时需要的队列和锁
2//!
3
4use std::hint::spin_loop;
5
6pub mod spin_lock;
7
8///
9/// 根据指定值进行自旋,返回下次自旋的值
10///
11#[inline]
12pub fn spin(mut len: u32) -> u32 {
13 if len < 1 {
14 len = 1;
15 } else if len > 10 {
16 len = 10;
17 }
18
19 for _ in 0..(1 << len) {
20 spin_loop()
21 }
22
23 len + 1
24}