小编典典

为什么Kotlin中没有并发关键字?

java

为什么没有用于同步/并发的关键字?

到目前为止,我的研究为我提供了一种解决方案,您包装了一些高级类并使用它们来处理并发。

给定一个纯Kotlin项目,如果需要一个小型的高度优化的组件来处理并发等,该怎么办?

我的印象是Kotlin是Java的辅助语言,可以用Kotlin编写90%的代码,但有一些Java语言无法用Kotlin表示。

这是正确的吗?这是原来的样子吗?


阅读 336

收藏
2020-12-03

共1个答案

小编典典

Kotlin 1.1 with
Coroutines已发布
,并带来了它async..await!在Kotlin参考文档Kotlinx
Coroutines库
示例中深入了解的Couroutines中了解有关此内容的更多信息。

在Kotlin协程之外,您可以选择以下选项:

您拥有Java拥有的所有东西以及更多。上面的列表满足了您的短语 “同步和锁定”
,然后您甚至可以拥有更多语言而无需更改语言。任何语言功能都只会使其更漂亮。

因此,您可以使用小型Kotlin运行时,JDK中的JVM运行时以及要使用的任何其他JVM库,获得100%的Kotlin代码。不需要Java代码,仅需要Java(作为JVM)库。

一些功能的快速样本:

class SomethingSyncd {
    @Synchronized fun syncFoo() {

    }

    val myLock = Any()

    fun foo() {
        synchronized(myLock) {
            // ... code
        }
    }

    @Volatile var thing = mapOf(...)
}
2020-12-03