[英]Serialize/De-serialize Scala future
是否可以將Scala Future序列化為byte[]
,然后再次將其反序列化?
如果可能,有人知道最佳方法嗎?
import concurrent.ExecutionContext.Implicits._
println(if ((concurrent.Future{}).isInstanceOf[Serializable]) "Yes" else "No")
版畫
No
使用scala中的Futures的標准實現不可能做到這一點。 Future顯然不會實現Serializable接口,也不應該進行序列化。
問題是,當未來還沒有結束時會發生什么。 Future之所以執行是因為它的任務是在ExecutionContext中安排的。 如果將這個Future序列化並在另一個JVM上反序列化,那么該任務將僅在第一個JVM上調度。 在第二個JVM上,未來永遠不會得到結果。
一旦准備就緒,序列化Future的內容可能更有意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.