Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d9b78f18
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d9b78f18
编写于
7月 05, 2022
作者:
A
Austin
提交者:
Gitee
7月 05, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md.
Signed-off-by:
N
Austin23
<
liaozhiqi7@huawei.com
>
上级
21f38970
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
15 addition
and
15 deletion
+15
-15
zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md
zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md
+15
-15
未找到文件。
zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md
浏览文件 @
d9b78f18
...
@@ -51,33 +51,33 @@
...
@@ -51,33 +51,33 @@
2.
申请读模式下的锁LOS_RwlockRdLock或写模式下的锁LOS_RwlockWrLock。
2.
申请读模式下的锁LOS_RwlockRdLock或写模式下的锁LOS_RwlockWrLock。
申请读模式下的锁:
申请读模式下的锁:
-
若无人持有锁,读任务可获得锁。
-
若无人持有锁,读任务可获得锁。
-
若有人持有锁,读任务可获得锁,读取顺序按照任务优先级。
-
若有人持有锁,读任务可获得锁,读取顺序按照任务优先级。
-
若有人(非自己)持有写模式下的锁,则当前任务无法获得锁,直到写模式下的锁释放。
-
若有人(非自己)持有写模式下的锁,则当前任务无法获得锁,直到写模式下的锁释放。
申请写模式下的锁:
申请写模式下的锁:
-
若该锁当前没有任务持有,或者持有该读模式下的锁的任务和申请该锁的任务为同一个任务,则申请成功,可立即获得写模式下的锁。
-
若该锁当前没有任务持有,或者持有该读模式下的锁的任务和申请该锁的任务为同一个任务,则申请成功,可立即获得写模式下的锁。
-
若该锁当前已经存在读模式下的锁,且读取任务优先级较高,则当前任务挂起,直到读模式下的锁释放。
-
若该锁当前已经存在读模式下的锁,且读取任务优先级较高,则当前任务挂起,直到读模式下的锁释放。
3.
申请读模式下的锁和写模式下的锁均有三种:无阻塞模式、永久阻塞模式、定时阻塞模式,区别在于挂起任务的时间。
3.
申请读模式下的锁和写模式下的锁均有三种:无阻塞模式、永久阻塞模式、定时阻塞模式,区别在于挂起任务的时间。
4.
释放读写锁LOS_RwlockUnLock。
4.
释放读写锁LOS_RwlockUnLock。
-
如果有任务阻塞于指定读写锁,则唤醒被阻塞任务中优先级高的,该任务进入就绪态,并进行任务调度;
-
如果有任务阻塞于指定读写锁,则唤醒被阻塞任务中优先级高的,该任务进入就绪态,并进行任务调度;
-
如果没有任务阻塞于指定读写锁,则读写锁释放成功。
-
如果没有任务阻塞于指定读写锁,则读写锁释放成功。
5.
删除读写锁LOS_RwlockDestroy。
5.
删除读写锁LOS_RwlockDestroy。
>  **说明:**
>  **说明:**
> - 读写锁不能在中断服务程序中使用。
> - 读写锁不能在中断服务程序中使用。
>
>
> - LiteOS-A内核作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得读写锁之后,应该尽快释放该锁。
> - LiteOS-A内核作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得读写锁之后,应该尽快释放该锁。
>
>
> - 持有读写锁的过程中,不得再调用LOS_TaskPriSet等接口更改持有读写锁任务的优先级
> - 持有读写锁的过程中,不得再调用LOS_TaskPriSet等接口更改持有读写锁任务的优先级
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录