3
我有一個Java Future對象,我想將其轉換爲Scala Future。查看j.u.c.Future API,除了isDone方法以外,沒有什麼可以使用的。這是阻止完成方法嗎?將Java未來轉換爲Scala未來
目前,這是我在我的腦海:
val p = Promise()
if(javaFuture.isDone())
p.success(javaFuture.get)
有沒有更好的方式來做到這一點?
是啊!我已經包裝了它,但只是想着是否有更好的方法去做,因爲我知道Java未來的get操作是一個阻塞操作! – sparkr
是的,但是由此產生的斯卡拉「未來」不是。也就是說,「包裝」操作是非阻塞的。 – pablochan
這是真的,但雖然這不會阻塞當前線程,但仍會阻塞來自ExecutionContext線程池的線程。 –