Files
mp_bintools/src/jvmMain/kotlin/net/sergeych/synctools/ProtectedOp.jvm.kt
T

19 lines
501 B
Kotlin

package net.sergeych.synctools
import java.util.concurrent.locks.ReentrantLock
/**
* Get the platform-depended implementation of a mutex-protected operation.
* JVM version uses a concealed object synchronization pattern (per-object monitor lock)
*/
actual fun ProtectedOp(): ProtectedOpImplementation = object : ProtectedOpImplementation {
private val access = ReentrantLock()
override fun lock() {
access.lock()
}
override fun unlock() {
access.unlock()
}
}