首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未解决的参考资料:发射

未解决的参考资料:发射
EN

Stack Overflow用户
提问于 2017-09-10 00:00:28
回答 8查看 40.9K关注 0票数 57

试着为Kotlin coroutines运行一些示例,但无法构建我的项目。我正在使用最新的gradle版本- 4.1

有什么建议要检查/修正吗?

这是build.gradle

代码语言:javascript
复制
buildscript {
    ext.kotlin_version = '1.1.4-3'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'
apply plugin: 'application'

kotlin {
    repositories {
        jcenter()
    }

    experimental {
        coroutines 'enable'
    }

    dependencies {
        compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.18"
    }
}

main.kt

代码语言:javascript
复制
fun main(args: Array<String>) {
    launch (CommonPool) {
        delay(1000L)
        println("World!")
    }

    println("Hello, ")
    Thread.sleep(2000L)
}

当我运行gradle compileKotlin时,我得到以下信息

代码语言:javascript
复制
e: /Users/philippgrigoryev/projects/kotlin-coroutines/src/main/kotlin/main.kt: (2, 5): Unresolved reference: launch
e: /Users/philippgrigoryev/projects/kotlin-coroutines/src/main/kotlin/main.kt: (2, 13): Unresolved reference: CommonPool
e: /Users/philippgrigoryev/projects/kotlin-coroutines/src/main/kotlin/main.kt: (3, 9): Unresolved reference: delay`
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2017-09-10 03:54:55

与注释中已经回答的一样,kotlinx.coroutines.experimental.*包缺少导入。如果您愿意,可以在GitHub上查看我的示例。

代码语言:javascript
复制
import kotlinx.coroutines.experimental.*

fun main(args: Array<String>) {

    launch(CommonPool) {
        delay(1000)
        LOG.debug("Hello from coroutine")
    }

}
票数 6
EN

Stack Overflow用户

发布于 2019-06-13 11:16:39

发射不再直接使用。Kotlin文档建议使用:

代码语言:javascript
复制
fun main() { 
    GlobalScope.launch { // launch a new coroutine in background and continue
        delay(1000L)
        println("World!")
    }
    println("Hello,") // main thread continues here immediately
    runBlocking {     // but this expression blocks the main thread
        delay(2000L)  // ... while we delay for 2 seconds to keep JVM alive
    } 
}
票数 64
EN

Stack Overflow用户

发布于 2018-12-12 04:47:50

如果您使用的是Coroutines 1.0+,则导入不再是

进口kotlinx.coroutin.实验性

导入kotlinx.coroutines.launch

在build.gradle的依赖项闭包中(对于Coroutines 1.0.1),您需要以下内容:

代码语言:javascript
复制
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1"
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46136136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档