write
inline fun <T> ReentrantReadWriteLock.write( action: () -> T ): T
Выполняет заданное действие под записью блокировки этого замка.
Функция выполняет обновление с блокировки чтения на запись, если необходимо, но это обновление не является атомным, так как такое обновление не поддерживается ReentrantReadWriteLock. Для такого обновления эта функция сначала освобождает все блокировки чтения, удерживаемые этим потоком, затем приобретает блокировку записи, а затем, освободив её, снова приобретает блокировки чтения.
Поэтому, если действие внутри блокировки записи было инициировано проверкой некоторого условия, это условие должно быть перепроверено внутри действия, чтобы избежать возможных гонок.
Возвращает значение, возвращаемое действием.
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.concurrent/java.util.concurrent.locks.-reentrant-read-write-lock/write.html