Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Concurrent

  
코루틴을 사용하여 작업을 기본 스레드 외부로 이동하고 ListenableFuture를 활용합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2020년 8월 19일 1.1.0 - - -

종속 항목 선언

Futures의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

dependencies {
    implementation "androidx.concurrent:concurrent-futures:1.1.0"

    // Kotlin
    implementation "androidx.concurrent:concurrent-futures-ktx:1.1.0"
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참조하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 만들기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 표를 추가할 수 있습니다.

새 문제 만들기

자세한 내용은 Issue Tracker 문서를 참조하세요.

버전 1.1.0

버전 1.1.0

2020년 8월 19일

androidx.concurrent:concurrent-futures:1.1.0androidx.concurrent:concurrent-futures-ktx:1.1.0 버전은 1.1.0-rc01 이후 변경사항 없이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.

1.0.0 이후 주요 변경사항

  • 1.1.0에서 도입된 Kotlin 확장 프로그램은 ListenableFuture와 Kotlin 코루틴 간의 변환을 지원하고 이제 androidx.concurrent:concurrent-futures-ktx:1.1.0에서 사용할 수 있습니다. 이 아티팩트는 전체 Guava 라이브러리와 달리 com.google.guava:listenablefuture와 함께 사용하도록 만들어진 것으로, ListenableFuture만 포함된 경량의 Guava 대체 항목입니다. 전체 Guava 라이브러리 사용자의 경우 대신 kotlinx.coroutines.kotlinx-coroutines-guava에서 공식 ListenableFuture 확장 프로그램을 사용해야 합니다.

버전 1.1.0-rc01

2020년 7월 22일

androidx.concurrent:concurrent-futures:1.1.0-rc01androidx.concurrent:concurrent-futures-ktx:1.1.0-rc01 버전은 1.1.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버전 1.1.0-beta01

2020년 6월 24일

androidx.concurrent:concurrent-futures:1.1.0-beta01androidx.concurrent:concurrent-futures-ktx:1.1.0-beta01 버전은 1.1.0-alpha01 이후 변경사항 없이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.

버전 1.1.0-alpha01

2019년 12월 18일

androidx.concurrent:concurrent-futures:1.1.0-alpha01androidx.concurrent:concurrent-futures-ktx:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요. androidx.concurrent:concurrent-futures-ktx의 첫 번째 버전입니다.

새로운 기능

  • 이제 ListenableFuture 코루틴과 Kotlin 코루틴 간의 변환을 지원하는 Kotlin 확장 프로그램이 concurrent-futures-ktx에서 제공됩니다. 이 아티팩트는 전체 Guava 라이브러리와 달리 com.google.guava:listenablefuture와 함께 사용하도록 만들어진 것으로, ListenableFuture만 포함된 경량의 Guava 대체 항목입니다. 전체 Guava 라이브러리 사용자의 경우 대신 kotlinx.coroutines.kotlinx-coroutines-guava에서 공식 ListenableFuture 확장 프로그램을 사용해야 합니다.

API 변경사항

  • ListenableFuture 코루틴을 Kotlin 코루틴으로 변환하는 ListenableFuture.await() 중지 확장 프로그램이 추가되었습니다.

버전 1.0.0

버전 1.0.0

2019년 10월 9일

androidx.concurrent:concurrent-futures:1.0.0 버전이 출시되었습니다. 버전 1.0.0에는 이러한 커밋이 포함되어 있습니다.

1.0.0의 중요 기능

androidx.concurrent:concurrent-futures:1.0.0에서는 콜백 기반 코드를 래핑하고 ListenableFuture의 인스턴스를 반환할 수 있는 미니멀리스트적 유틸리티인 CallbackToFutureAdapter 클래스를 제공합니다. 이 클래스는 맞춤 콜백보다 더 정교한 방식으로 자바 API에서 비동기 작업을 노출하려는 라이브러리에 유용하지만 라이브러리 크기 문제로 인해 전체 guava 또는 rx 자바의 종속성을 사용하기에는 멀티스레딩의 복잡한 작업을 충분히 처리하지 못합니다.

버전 1.0.0-rc01

2019년 8월 7일

androidx.concurrent:concurrent-futures:1.0.0-rc01 버전은 1.0.0-beta01에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

Concurrent-ListenableFuture 버전 1.0.0-beta01

2019년 5월 30일

androidx.concurrent:concurrent-listenablefuture:1.0.0-beta01androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

이 라이브러리는 Guava의 ListenableFuture 인터페이스와 동등한 독립형 및 콜백 변환을 위한 어댑터를 제공합니다.

유사한 어댑터를 제공하며 com.google.guava:listenablefuture 아티팩트를 포함한 이전에 출시된 androidx.concurrent:concurrent-futures 아티팩트는 엄격한 종속성 확인 매칭이 있는 도구 모음(예: Android Gradle 플러그인 3.4.0)을 사용하는 개발자에게 문제가 될 수 있습니다. 전체 Guava 라이브러리를 사용하지 않는 개발자는 androidx.concurrent:concurrent-listenablefuture-callback으로 전환하는 것이 좋습니다.

버전 1.0.0-beta01

2019년 5월 7일

androidx.concurrent:concurrent-futures:1.0.0-beta01 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • ResolvableFutureAbstractResolvableFuture는 더 안전한 API를 제공하는 CallbackToFutureAdapter를 선호하여 공개 API에서 숨겨졌습니다.

버전 1.0.0-alpha03

2018년 12월 17일

androidx.concurrent:concurrent-futures 1.0.0-alpha03이 출시되었습니다.

새로운 기능

  • CallbackToFutureAdapter가 도입되었습니다. 이것은 콜백 기반 API를 ListenableFuture로 래핑하는 새롭고 더 안전한 API입니다. ResolvableFuture보다 이 API를 사용하는 것 더 좋습니다.