IT TIP

Kotlin에 동시성 키워드가없는 이유는 무엇입니까?

itqueen 2020. 12. 7. 21:24
반응형

Kotlin에 동시성 키워드가없는 이유는 무엇입니까?


동기화 / 동시성에 대한 키워드가없는 이유는 무엇입니까?

지금까지 내 연구는 한 가지 해결책을 제공합니다. 몇 가지 높은 수준의 클래스를 래핑하고이를 사용하여 동시성을 처리합니다.

순수 Kotlin 프로젝트에서 동시성 등을 처리하는 고도로 최적화 된 작은 구성 요소가 필요한 경우 어떻게해야합니까?

내 인상은 Kotlin이 코드의 90 %를 Kotlin으로 작성하지만 Kotlin으로 표현할 수없는 Java 코드를 포함하는 Java 용 지원 언어라는 것입니다.

이게 옳은 거니? 이것이 의도 된 방식입니까?


코 루틴이 포함 된 Kotlin 1.1이 출시되었으며 함께 제공됩니다 async..await! 더 그것에 대해 읽기 코 틀린 참조 문서 , Kotlinx 코 루틴 라이브러리 및 깊이에있는이 위대한 예에 의해 Couroutines

Kotlin 코 루틴 외부에는 다음과 같은 옵션이 있습니다.

당신은 자바가 가진 모든 것을 가지고 있습니다. 위의 목록에서 "동기화 및 잠금" 이라는 문구를 충족하면 언어 변경없이 훨씬 더 많이 사용할 수 있습니다. 모든 언어 기능은 조금 더 예쁘게 만듭니다.

따라서 작은 Kotlin 런타임, JDK의 JVM 런타임 및 사용하려는 기타 JVM 라이브러리를 사용하여 100 % Kotlin 코드를 가질 수 있습니다. Java 코드가 필요 없으며 Java (as-in JVM) 라이브러리 만 있으면됩니다.

몇 가지 기능에 대한 간단한 샘플 :

class SomethingSyncd {
    @Synchronized fun syncFoo() {

    }

    val myLock = Any()

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

    @Volatile var thing = mapOf(...)
}

참고 URL : https://stackoverflow.com/questions/35520583/why-there-are-no-concurrency-keywords-in-kotlin

반응형