Spec-Zone.ru › Kotlin 2

write

kotlin-stdlib/kotlin.concurrent/write

Начиная с Kotlin: 1.0

@IgnorableReturnValue
inline fun <T> ReentrantReadWriteLock.write(action: () -> T): T

Выполняет указанное действие под блокировкой записи этой блокировки.

При необходимости функция выполняет переход с блокировки чтения на блокировку записи, однако этот переход не является атомарным, поскольку такой переход не поддерживается ReentrantReadWriteLock. Для выполнения такого перехода функция сначала освобождает все блокировки чтения, удерживаемые этим потоком, затем получает блокировку записи, а после её освобождения снова получает блокировки чтения.

Поэтому, если действие внутри блокировки записи было инициировано проверкой некоторого условия, это условие необходимо повторно проверить внутри действия, чтобы избежать возможных гонок.

Результат

возвращаемое значение действия.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.concurrent/write.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API