信号量简介

信号量就是一个上锁的机制,代码必须获得钥匙才能执行,一旦获得了信号量,就相当于该代码具有了进入被锁代码的权限。说白了,就和java多线程中常用的锁非常相似。

信号量类型

UCOSIII自学笔记(5)--信号量和互斥信号量
在个人的理解中,可以把二进制信号量理解为java里的独享锁,计数形的看成类似于共享锁。

信号量API函数

UCOSIII自学笔记(5)--信号量和互斥信号量

OSSemCreate

UCOSIII自学笔记(5)--信号量和互斥信号量

OSSemDel

UCOSIII自学笔记(5)--信号量和互斥信号量
关于opt(我理解为模式),在源码的上面说明了。本人英语不太行。大概翻译过来就是这个意思,,,emm,,UCOSIII自学笔记(5)--信号量和互斥信号量

用大白话讲,就是,第一种用模式的话,只有需要信号量的任务都跑完了,它才会删除。。第二种模式的话,不论是不是有任务正在用它,直接删除。

OSSemPend

UCOSIII自学笔记(5)--信号量和互斥信号量
关于opt
UCOSIII自学笔记(5)--信号量和互斥信号量

OSSemPendAbort

UCOSIII自学笔记(5)--信号量和互斥信号量
关于opt
UCOSIII自学笔记(5)--信号量和互斥信号量

OSSemPost

UCOSIII自学笔记(5)--信号量和互斥信号量

OSSemSet

UCOSIII自学笔记(5)--信号量和互斥信号量
截图里的红色备注仅仅是个人查看后的随手翻译,,具体自己对照着源码看看吧。。

相关文章: