【发布时间】:2018-03-13 08:12:02
【问题描述】:
我想在一个线程中执行一个任务,写了如下代码:
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():我立即看到 in thread 和 main 5 秒后。
我的错误是什么?
【问题讨论】:
标签: android multithreading kotlin