ReentrantMutex

基于 Mutex 的可重入锁,相同协程以及子协程都允许重入。

实际上只要上下文相同,就可重入,一般情况下子协程继承当前协程上下文,外部协程也不可能继承当前协程上下文。

如果手动修改子协程上下文,或使用当前协程上下文启动外部协程,重入行为可能发生改变。

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

获取 AutoTweaker 提供的 TraceRecorder,自身作为 origin

Functions

Link copied to clipboard
inline suspend fun <T> withLock(crossinline block: suspend () -> T): T

如果协程上下文相同,直接运行 block,否则先抢锁。