Future和Promise是Scala中用于并發編程的關鍵概念。
Future代表一個異步計算的結果,即一個未來的值,可以在程序中使用它來處理異步任務的結果。Future提供了一系列的方法,比如map、flatMap等,用于對異步計算結果進行處理。
Promise是Future的一種實現,它允許我們手動設置Future的值。通過Promise,我們可以在一個線程中啟動一個異步任務,然后在另一個線程中設置Future的結果。Promise提供了success()和failure()方法,用于設置Future的成功結果和失敗結果。
總的來說,Future表示一個異步計算的結果,而Promise在Future的基礎上提供了設置Future結果的能力。通過Future和Promise,我們可以更加方便地進行異步編程,處理并發任務。