CMSIS RTOS-RTX信号管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kiti1013/article/details/48490245

信号管理
当创建某一个线程时,线程都具有一个8位的信号标记,这些信号标记存储在线程控制块中。用户可以停止执行线程,直至系统中通过其他的线程设置特殊信号标记或者一组信号标记来启用线程。参考下图
这里写图片描述
图中LED1线程置于等待状态,当led2线程设置了标记模式,线程1将返回准备执行状态并等待内核调度.

信号等待系统调用将挂起执行的线程并且将线程置于wait_event状态。在完成所有位于信号等待API调用的标记设置之前,系统不会开始线程执行,用户还可以定义周期性的超时,在周期性超时后正在等待的线程将转移到准备运行状态,以便当线程被调度器选中时可以恢复运行。 如果参数选择为0xffff值定义了无限超时周期。
若将信号变量值设为0,那么当调用 osSignalWait ( int32_t signals,uint32_t millisec )函数时,设置线程任何位都会引起线程恢复执行,任何线程都可以在其他的线程中设置或清除信号。

猜你喜欢

转载自blog.csdn.net/kiti1013/article/details/48490245