我可以在 Kotlin Multiplatform commonMain 代码中使用 @Synchronized 注解吗?

问题描述 投票:0回答:1

@Synchronized注解可以用在Kotlin Multiplatform的公共代码(

commonMain
)代码中吗? 该库仅针对 JVM 和 JS。

它会对从该库调用

commonMain
代码的 Kotlin/JS 应用程序产生任何影响吗?

当我在

commonMain
中使用@Synchronized时,Intellij显示它是从import中导入的
kotlin-stdlib-common
;在
jsMain
中,显示从
kotlin-stdlib-js
导入;然而,在这两种情况下,进口声明仍然是
import kotlin.jvm.Synchronized

kotlin synchronized kotlin-multiplatform
1个回答
0
投票

文档中所述,此注释仅对从 Kotlin 函数生成的 JVM 方法有效:

将从带注释的函数生成的 JVM 方法标记为

synchronized
,这意味着该方法将被定义该方法的实例(或者,对于静态方法,类)的监视器保护,以免被多个线程并发执行.

the sources of the JS part of the standard library,您可以找到以下关于注释的注释(以及

@Volatile
):

// these are used in common generated code in stdlib

// TODO: find how to deprecate these ones
© www.soinside.com 2019 - 2024. All rights reserved.