Synchronized
Требования к платформе и версии: Common (1.0), JS (1.1)
expect annotation class@Target(allowedTargets = [AnnotationTarget.FUNCTION,AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER ] ) Synchronized
Устарело
Предупреждение начиная с версии 1.8
Ошибка начиная с версии 2.1
Синхронизация методов экземпляра класса не поддерживается на платформах, отличных от JVM. Если вам нужно пометить общий метод как синхронизированный для JVM, создайте собственную аннотацию с необязательным ожиданием и реализуйте её с помощью typealias для kotlin.jvm.Synchronized.
Помечает метод JVM, сгенерированный из аннотированной функции, как synchronized, то есть защищает метод от одновременного выполнения несколькими потоками с помощью монитора экземпляра (или, для статических методов, класса), в котором определён метод.
Обратите внимание, что для функции-расширения используется монитор класса-фасада, в который она компилируется как статический метод. Поэтому эту аннотацию рекомендуется применять только к функциям-членам и свойствам.
Требования к платформе и версии: JVM (1.0)
actual annotation class Synchronized@Target(allowedTargets = [AnnotationTarget.FUNCTION,AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER ] )
Помечает метод JVM, сгенерированный из аннотированной функции, как synchronized, то есть защищает метод от одновременного выполнения несколькими потоками с помощью монитора экземпляра (или, для статических методов, класса), в котором определён метод.
Обратите внимание, что для функции-расширения используется монитор класса-фасада, в который она компилируется как статический метод. Поэтому эту аннотацию рекомендуется применять только к функциям-членам и свойствам. В остальных случаях используйте функцию synchronized и явно указывайте блокировку.
© 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.jvm/-synchronized/index.html