AR
Size: a a a
AR
AR
@get:JsonProperty("is_pre_approved”) - это все таки костылик как по мнеRI
class ProxyMain : Main {
private val initialized = AtomicBoolean(false)
private val mutex = Mutex(true)
private var main: Main by notNull()
suspend fun set(newMain: Main) {
if (initialized.get()) {
mutex.withLock {
main = newMain
}
} else {
if (initialized.compareAndSet(false, true)) {
main = newMain
mutex.unlock()
} else {
mutex.withLock {
main = newMain
}
}
}
}
override suspend fun doWork(arg: String): String {
return mutex.withLock {
main.doWork(arg)
}
}
}A
class ProxyMain : Main {
private val initialized = AtomicBoolean(false)
private val mutex = Mutex(true)
private var main: Main by notNull()
suspend fun set(newMain: Main) {
if (initialized.get()) {
mutex.withLock {
main = newMain
}
} else {
if (initialized.compareAndSet(false, true)) {
main = newMain
mutex.unlock()
} else {
mutex.withLock {
main = newMain
}
}
}
}
override suspend fun doWork(arg: String): String {
return mutex.withLock {
main.doWork(arg)
}
}
}RI
RI
AL
AL
val selector: (Ft) -> Int? = { it.id.let(idToPosition::get) }
val comparator: Comparator<Ft> = Comparator { ft1, ft2 -> nullsLast<Int>().compare(selector(ft1), selector(ft2)) }val altComparator: Comparator<Ft> = Comparator { ft1, ft2 -> compareValuesBy(ft1, ft2, nullsLast()) { it.id.let(idToPosition::get) } }AL
val altComparator: Comparator<Ft> = compareBy(nullsLast<Int>()) { it.id.let(idToPosition::get) }E🎸
AL
E🎸
AL
E🎸
AL
AM
AM
E🎸
someJob = lifecycleScope.launch {
someJob?.cancelAndJoin()
try { ... } finally { ... }
}
Это вообще законно так тормозить предыдущее задание, перед запуском нового? оно так будет работать?D
someJob = lifecycleScope.launch {
someJob?.cancelAndJoin()
try { ... } finally { ... }
}
Это вообще законно так тормозить предыдущее задание, перед запуском нового? оно так будет работать?finaly{} отрабатывает раньше?E🎸