Edoardo Luppi
08/21/2023, 8:16 AMatomicfu , with the following block of code:
private val lock = SynchronizedObject()
...
public actual override fun use(instance: T) {
synchronized(lock) {
doSomething(instance)
}
}
What happens if doSomething is a suspendable function?
Is this a use-case that I can handle somehow?Jeff Lockhart
08/21/2023, 2:40 PMreentrantLock() instead:
val lock = reentrantLock()
lock.lock()
doSuspendSomething()
lock.unlock()Jeff Lockhart
08/21/2023, 2:43 PMSynchronizedObject() also supports manually calling lock() and unlock() too.Edoardo Luppi
08/21/2023, 3:41 PMJeff Lockhart
08/21/2023, 3:47 PMMutex.