- 相關推薦
Java Callable和Future學習
導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看JavaCallable和Future學習,希望對大家有所幫助。
常見用法
一般Callable和Future搭配使用的方法如下:
把Callable任務提交給線程池,線程池給我們返回一個Future對象;
然后我們通過Future拿到一個結果;
說明:線程池幫我們做了太多事情,而且封裝起來,這樣子我們理解底層機制就非常困難,畢竟距離冰冷的現實越遠,對底層越難以理解;
原理概述
線程池背后做的事情如下:
把Callable轉換為FutureTask(這個對象實現了Futuure和Runnable接口,并且包含Callable屬性);
線程把FutureTask當做Runnable進行調度,在真正執行的時候調用的是FutureTask中的run方法,這個方法干的事情就是:
調用Callable的call方法,然后再把結果放到FutureTask的屬性outcome上,
這樣,當我們FutureTask調用get方法(實現了Futuure的get方法),(當然完成的情況下)就給我們返回outcome;
【Java Callable和Future學習】相關文章:
Java菜單和工具欄學習教程07-26
Java和PHP的區別09-09
java和js的區別08-05
Java常量和變量06-17
Java基礎學習步驟09-17
關于java的學習捷徑06-04
Java技術怎么學習10-25
Java語言的學習技巧08-11
Java編程學習示例07-31