# withReadAcquire

inline suspend fun < T , R > SmartKeyRWLocker < T >. withReadAcquire (action: () -> R ): R (source)
inline suspend fun < T , R > SmartKeyRWLocker < T >. withReadAcquire (key: T , action: () -> R ): R (source)

inline suspend fun < T > SmartRWLocker . withReadAcquire (action: () -> T ): T (source)

Will call SmartSemaphore.Mutable.lock, then execute action and return the result after SmartSemaphore.Mutable.unlock