Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading concurrent.Future的wait.result()的Scala线程行为_Multithreading_Scala - Fatal编程技术网

Multithreading concurrent.Future的wait.result()的Scala线程行为

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

使用scala.concurrent.Future时,我想了解wait.result()运行时的确切线程行为。它是否在等待将来的结果之前释放处理语句的线程?或者线程是否保持在等待状态,即它没有为其他工作负载释放

val foo = Future(1)

// Option 1
val fooResult = Await.result(foo, Duration.Inf)
...

我已经读过关于这个话题的文章了。该上下文中的阻塞是否意味着未为Await.result()释放线程?

调用线程将在Await.result返回时释放。这正是您在调用wait.{result/ready}时所要求的。因此它在调用时不会被释放,而是在被调用的方法终止时被释放?你的意思是从等待/阻塞状态中释放,因为踏板被阻塞,因此不能使用,对吗?等待/阻塞状态从wait.result()调用开始?是的,就是这样。