1. 程式人生 > 其它 >FutureTask -使用方式 開啟執行緒非同步執行並可以阻塞得到返回值

FutureTask -使用方式 開啟執行緒非同步執行並可以阻塞得到返回值

FutureTask -使用方式 開啟執行緒非同步執行並可以阻塞得到返回值
/**
 * FutureTask -使用方式
 * 開啟一個線非同步執行緒,並讓主執行緒等待返回結果
 */
public class FutureTaskSevice {

    public static void main(String[] args) {
        FutureTask<String> futureTask=new FutureTask<>(new Callable<String>() {
            @Override
            public String call() throws Exception {
                
// todo int count=0; for(int i=0;i<10;i++){ count=count+i; } return "it is subThread complete-count:"+count; } }); // 通過執行緒執行 Thread thread=new Thread(futureTask); thread.start();
try { String resultStr = futureTask.get(); System.out.println("resultStr = " + resultStr); }catch (Exception e) { e.printStackTrace(); } System.out.println("I am is main Thread"); } }

重點:FutureTask -使用方式 開啟執行緒非同步執行並可以阻塞得到返回值,如當一個任務比較耗時,主執行緒執行一個任務,開啟一個執行緒執行一個任務,最後需要兩個執行緒的結果,就需要主執行緒執行完後等待子執行緒的執行結果;例項如一次分頁資料請求,主執行緒可以獲取列表資料,子執行緒可以開啟執行統計總行數,最後彙總兩個結果一起返回到頁面。