Update CachedMutableValue.kt

This commit is contained in:
1
2025-07-26 12:39:55 +08:00
parent 1674272eea
commit 5f02aac930

View File

@@ -72,7 +72,9 @@ abstract class CachedMutableValue<T>(
@Volatile
private var value: T,
) {
@Volatile
private var loaded = false
private val lock = Any()
private val mutex = Mutex()
private var stateValue by mutableLongStateOf(0)
@@ -82,7 +84,7 @@ abstract class CachedMutableValue<T>(
abstract fun writeCachedValue(value: T)
operator fun getValue(thisRef: Any?, property: Any?): T {
synchronized(this) {
synchronized(lock) {
if (!loaded) {
value = readCachedValue()
loaded = true
@@ -94,7 +96,7 @@ abstract class CachedMutableValue<T>(
operator fun setValue(thisRef: Any?, property: Any?, value: T) {
synchronized(this) {
synchronized(lock) {
if (this.value == value) {
return
}