所以run的返回值是void類型。
如果是壹個多線程協作程序,比如菲波拉切數列,1,1,2,3,5,8...使用多線程來計算。
但後者需要前者的結果,就需要用callable接口了。
callable用法和runnable壹樣,只不過調用的是call方法,該方法有壹個泛型返回值類型,妳可以任意指定。
線程是屬於異步計算模型,所以妳不可能直接從別的線程中得到函數返回值。
這時候,Future就出場了。Futrue可以監視目標線程調用call的情況,當妳調用Future的get()方法以獲得結果時,當前線程就開始阻塞,直接call方法結束返回結果。