如何使此循环不使用100%CPU?
while(true){}
在主线程中,我不想退出,因此我需要阻止主线程中的执行,同时允许所有其他线程连续运行。在Golang中,有一个选项:
select {}
这不会阻塞CPU,但也会挂起主线程。如何在Scala中做到这一点?
答案 0 :(得分:4)
您问题的最简单答案可能是:
import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}
Await.result(Future.never, Duration.Inf) //semantic block
正如其他人所提到的那样,它可能是解决您问题的更好解决方案(例如cats-io的deferred),但是如果没有更多细节,很难告诉更多。