mirror of
https://github.com/InvertGeek/MixFile.git
synced 2026-06-02 09:31:11 +08:00
Update CachedMutableValue.kt
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user