Questions tagged «suspend»

6
暂停功能在Kotlin Coroutine中意味着什么
我正在阅读Kotlin Coroutine,并且知道它基于suspend功能。但是什么suspend意思呢? 协程或功能被暂停? 来自https://kotlinlang.org/docs/reference/coroutines.html 基本上,协程是可以在不阻塞线程的情况下挂起的计算 听说人们经常说“暂停功能”。但我认为是协程被暂停,因为它正在等待功能完成?“挂起”通常表示“停止操​​作”,在这种情况下,协程空闲。 🤔我们应该说协程暂停了吗? 哪个协程被暂停? 来自https://kotlinlang.org/docs/reference/coroutines.html 为了继续类推,await()可以是一个暂停函数(因此也可以从async {}块内调用),该例程可以暂停协程直到完成一些计算并返回其结果: async { // Here I call it the outer async coroutine ... // Here I call computation the inner coroutine val result = computation.await() ... } says它说“挂起协程直到完成计算”,但是协程就像轻量级线程。因此,如果协程被挂起,如何进行计算? 我们看到await被调用了computation,所以可能是asyncreturn Deferred,这意味着它可以启动另一个协程 fun computation(): Deferred<Boolean> { return async { true } } …

2
即使我暂停第一个命令(Ctrl-z),也要依次运行一个命令
我知道在bash中我可以通过用分号将它们分开来依次运行一个命令,例如 $ command1; command2 或者,如果我只想command2在command1成功的情况下运行,请使用&&: $ command1 && command2 这可以工作,但是如果我暂停command1使用Ctrl-z,则在第一种情况下,它将command2立即运行,而在第二种情况下,它根本不会运行。如何依次运行命令,但仍然能够挂起第一个命令,但是直到我重新启动它(使用fg)并完成后才能再次运行第二个命令?我希望输入的内容尽可能简单,因为我希望以交互方式进行输入。或者也许我只需要在某个地方设置一个选项。 顺便说一句,什么是正确的术语Ctrl-z?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.