Thread()如何在Kotlin中工作?

时间:2018-03-13 08:12:03

标签: android multithreading kotlin

我想在线程中执行一个任务并编写以下代码:

Thread().run {
    Log.i("TEST", "in thread")
    Thread.sleep(5000);
    transactionStatus = ApiFactory.getInstance().transactionService.abortTransaction()
    synchronized(TestTransactionPayAbort.lock) {
        TestTransactionPayAbort.lock.notify()
    }
}

Log.i("TEST", "main")
synchronized(TestTransactionPayAbort.lock) {
    TestTransactionPayAbort.lock.wait()
}

根据调试器,在执行Thread().run{}之前,我在线程4中。 执行Thread.sleep()后,调试器告诉我线程4正在休眠,而我期望看到线程5正在休眠。关于Log():我在5秒后立即在线程和 main 中看到

我的错误是什么?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的语法是:

Thread {
    // your execution code 
}.start()

另请阅读this answer以获取更多信息。