One Motor 0.5.1
RoboMaster全平台一站式电机驱动库
载入中...
搜索中...
未找到
SpinLock.hpp
浏览该文件的文档.
1
7#ifndef ONE_MOTOR_SPINLOCK_HPP
8#define ONE_MOTOR_SPINLOCK_HPP
9
10#ifdef ONE_MOTOR_LINUX
11#include <atomic>
12#endif
13
14namespace OneMotor::Util
15{
25 {
26 public:
31 void lock() noexcept;
32
37 bool try_lock() noexcept;
38
43 void unlock() noexcept;
44
45 private:
46#ifdef ONE_MOTOR_LINUX
47 std::atomic<bool> lock_ = {false};
48#endif
49 };
50}
51
52#endif //ONE_MOTOR_SPINLOCK_HPP
一个基础的、非递归的自旋锁。
定义 SpinLock.hpp:25
void lock() noexcept
获取锁。
定义 L_SpinLock.cpp:5
void unlock() noexcept
释放锁。
定义 L_SpinLock.cpp:25
bool try_lock() noexcept
尝试获取锁。
定义 L_SpinLock.cpp:20