RT-thread-------------------信号量

信号量:用于解决线程间同步问题的内核对象,线程可以获取或释放它,从而达到同步或互斥的目的。(互斥量只能由持有线程释放,而信号量则可以由任何线程释放)

在rtt中,信号量分为计数型信号量和二值信号量(作为锁使用)。

计数型信号量的值可表示有多少个共享资源可以使用,每个信号量对象都有一个信号量值和一个线程等待队列;

二值信号量的值是0/1,通常初始化设置为1,表示只有1个资源可以使用。当某个线程访问这个共享资源时,需获得资源锁,即持有二值信号量,然后对共享资源进行访问。访问结束后在退出临界区时,在释放这个信号量,等待在这个信号量上的第一个线程将被唤醒然后获取信号量对共享资源进行访问。

上一篇:705 B. Spider Man


下一篇:Vitamio与FFmpeg、LGPL、GPL的关系