`defer` coroutine builder is renamed to `async`.
`lazyDefer` is deprecated, `async` has an optional `start` parameter instead.
`LazyDeferred` interface is deprecated, lazy start functionality is integrated into `Job` interface.
`launch` has an optional `start` parameter for lazily started coroutines.
`Job.start` and `Job.isCompleted` are introduced.
`Job.join` is now a member function.
Internal `JobSupport` state machine is enhanced to support _new_ (not-started-yet) state.
So, lazy coroutines do not need a separate state variable to track their started/not-started (new/active) status.
Example on async-style functions is added to coroutines guide.
27 files changed
tree: 97b1eac7585eb6c20e29a9750471206c877bec62
  1. knit/
  2. kotlinx-coroutines-core/
  3. kotlinx-coroutines-javafx/
  4. kotlinx-coroutines-jdk8/
  5. kotlinx-coroutines-nio/
  6. kotlinx-coroutines-rx/
  7. kotlinx-coroutines-rx-example/
  8. kotlinx-coroutines-swing/
  9. license/
  10. site/
  11. .gitignore
  12. CHANGES.md
  13. coroutines-guide.md
  14. pom.xml
  15. README.md
README.md

kotlinx.coroutines

Library support for Kotlin coroutines. This is a companion version for Kotlin 1.1.0-beta-38 release.

Modules and features

References and documentation

Using in your projects

Note that these libraries are experimental and are subject to change.

The libraries are published to kotlin-eap-1.1 bintray repository.

These libraries require kotlin compiler version to be at least 1.1.0-beta-38 and require kotlin runtime of the same version as a dependency, which can be obtained from the same repository.

Maven

Add the bintray repository to <repositories> section (and also add pluginRepository to <pluginRepositories>, if you're willing to get kotlin-maven-plugin from there):

<repository>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <id>dl</id>
    <name>bintray</name>
    <url>http://dl.bintray.com/kotlin/kotlin-eap-1.1</url>
</repository>

Add dependencies (you can also add other modules that you need):

<dependency>
    <groupId>org.jetbrains.kotlinx</groupId>
    <artifactId>kotlinx-coroutines-core</artifactId>
    <version>0.7-beta</version>
</dependency>

And make sure that you use the right Kotlin version:

<properties>
    <kotlin.version>1.1.0-beta-38</kotlin.version>
</properties>

Gradle

Add the bintray repository (and also add it to buildScript section, if you're willing to get kotlin-gradle-plugin from there):

repositories {
    maven {
        url "http://dl.bintray.com/kotlin/kotlin-eap-1.1"
    }
}

Add dependencies (you can also add other modules that you need):

compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.7-beta'

And make sure that you use the right Kotlin version:

buildscript {
    ext.kotlin_version = '1.1.0-beta-38'
}