diff --git a/zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md b/zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md index 9794444f83321b09b8f0963b2ed96ea469c1f89c..bcb971e02fc078c976d432227b09d8cacd6cd2a0 100644 --- a/zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md +++ b/zh-cn/device-dev/kernel/kernel-small-basic-trans-rwlock.md @@ -51,33 +51,33 @@ 2. 申请读模式下的锁LOS_RwlockRdLock或写模式下的锁LOS_RwlockWrLock。 -申请读模式下的锁: + 申请读模式下的锁: -- 若无人持有锁,读任务可获得锁。 + - 若无人持有锁,读任务可获得锁。 -- 若有人持有锁,读任务可获得锁,读取顺序按照任务优先级。 + - 若有人持有锁,读任务可获得锁,读取顺序按照任务优先级。 -- 若有人(非自己)持有写模式下的锁,则当前任务无法获得锁,直到写模式下的锁释放。 + - 若有人(非自己)持有写模式下的锁,则当前任务无法获得锁,直到写模式下的锁释放。 -申请写模式下的锁: + 申请写模式下的锁: -- 若该锁当前没有任务持有,或者持有该读模式下的锁的任务和申请该锁的任务为同一个任务,则申请成功,可立即获得写模式下的锁。 + - 若该锁当前没有任务持有,或者持有该读模式下的锁的任务和申请该锁的任务为同一个任务,则申请成功,可立即获得写模式下的锁。 -- 若该锁当前已经存在读模式下的锁,且读取任务优先级较高,则当前任务挂起,直到读模式下的锁释放。 + - 若该锁当前已经存在读模式下的锁,且读取任务优先级较高,则当前任务挂起,直到读模式下的锁释放。 3.申请读模式下的锁和写模式下的锁均有三种:无阻塞模式、永久阻塞模式、定时阻塞模式,区别在于挂起任务的时间。 4.释放读写锁LOS_RwlockUnLock。 -- 如果有任务阻塞于指定读写锁,则唤醒被阻塞任务中优先级高的,该任务进入就绪态,并进行任务调度; + - 如果有任务阻塞于指定读写锁,则唤醒被阻塞任务中优先级高的,该任务进入就绪态,并进行任务调度; -- 如果没有任务阻塞于指定读写锁,则读写锁释放成功。 + - 如果没有任务阻塞于指定读写锁,则读写锁释放成功。 5. 删除读写锁LOS_RwlockDestroy。 -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> - 读写锁不能在中断服务程序中使用。 -> -> - LiteOS-A内核作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得读写锁之后,应该尽快释放该锁。 -> -> - 持有读写锁的过程中,不得再调用LOS_TaskPriSet等接口更改持有读写锁任务的优先级 + > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** + > - 读写锁不能在中断服务程序中使用。 + > + > - LiteOS-A内核作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得读写锁之后,应该尽快释放该锁。 + > + > - 持有读写锁的过程中,不得再调用LOS_TaskPriSet等接口更改持有读写锁任务的优先级