Multithreading concurrent.Future的wait.result()的Scala线程行为
使用scala.concurrent.Future时,我想了解wait.result()运行时的确切线程行为。它是否在等待将来的结果之前释放处理语句的线程?或者线程是否保持在等待状态,即它没有为其他工作负载释放Multithreading concurrent.Future的wait.result()的Scala线程行为,multithreading,scala,Multithreading,Scala,使用scala.concurrent.Future时,我想了解wait.result()运行时的确切线程行为。它是否在等待将来的结果之前释放处理语句的线程?或者线程是否保持在等待状态,即它没有为其他工作负载释放 val foo = Future(1) // Option 1 val fooResult = Await.result(foo, Duration.Inf) ... 我已经读过关于这个话题的文章了。该上下文中的阻塞是否意味着未为Await.result()释放线程?调用线程将在Aw
val foo = Future(1)
// Option 1
val fooResult = Await.result(foo, Duration.Inf)
...
我已经读过关于这个话题的文章了。该上下文中的阻塞是否意味着未为Await.result()释放线程?调用线程将在Await.result返回时释放。这正是您在调用wait.{result/ready}时所要求的。因此它在调用时不会被释放,而是在被调用的方法终止时被释放?你的意思是从等待/阻塞状态中释放,因为踏板被阻塞,因此不能使用,对吗?等待/阻塞状态从wait.result()调用开始?是的,就是这样。