信号量
信号量就是你创建一个信号量,给他赋初值,比如1,然后rt_sem_take获取信号量的时候,信号量减1,变成了0,如果为0,再次rt_sem_take会使线程挂起,等待rt_sem_release释放信号量,即加1。
初始化与脱离
静态信号量:
rt_err_t rt_sem_init( rt_sem_t sem, const char* name, rt_uint32_t value, rt_uint8_t flag );//flag:RT_IPC_FLAG_FIFO,RT_IPC_FLAG_PRIO;
rt_err_t rt_sem_detach( rt_sem_t sem );
创建与删除
动态信号量:
rt_sem_t rt_sem_create( const char* name, rt_uint32_t value, rt_uint8_t flag );
rt_err_t rt_sem_delete( rt_sem_t sem );
获取信号量
rt_err_t rt_sem