实时操作系统中的互斥锁、信号量、队列和邮箱
1. 互斥锁(Mutex)
互斥锁是一种用于控制对共享资源访问的同步原语。当一个线程获得互斥锁时,其他线程必须等待该线程释放互斥锁才能访问共享资源。
1.1 互斥锁函数
以下是一些常见的互斥锁函数:
| 函数 | 描述 |
| — | — |
| Mutex() | 默认构造函数 |
| Mutex(const char *name) | 带名称的构造函数 |
| void lock() | 锁定互斥锁 |
| bool trylock() | 尝试锁定互斥锁,如果无法锁定则立即返回 |
| bool trylock_for(Kernel::Clock::duration_u32 rel_time) | 在指定的相对时间内尝试锁定互斥锁 |
| bool trylock_until(Kernel::Clock::time_point abs_time) | 在指定的绝对时间内尝试锁定互斥锁 |
| void unlock() | 解锁互斥锁 |
| osThreadId_t get_owner() | 获取当前持有互斥锁的线程 ID |
| ~Mutex() | 析构函数 |
1.2 互斥锁使用示例
下面是一个在 M
超级会员免费看
订阅专栏 解锁全文
7421

被折叠的 条评论
为什么被折叠?



