java非同步計算

2021-08-22 15:09:25 字數 1148 閱讀 9786

非同步計算是分布式計算的一種實現方式,開發人員不必花費太多的硬體成本,即可通過軟體方式以更低的成本實現大規模運算需要的處理能力。

顧名思義就是不通的執行緒去做不同的事最後在進行資料彙總並返回結果。在一些業務比較複雜,某些方法計算比較耗時的時候單執行緒就無法快速返回結果使用者響應時間變長,這個時候就要使用非同步計算來加快資料處理速度傳統的runnable介面不能返回結果,在jdk1.5之後增加了callable
兩者最大的不同點是:實現callable介面的任務執行緒能返回執行結果;而實現runnable介面的任務執行緒不能返回結果;

callable介面的call()方法允許丟擲異常;而runnable介面的run()方法的異常只能在內部消化,不能繼續上拋;

注意點

callable介面支援返回執行結果,此時需要呼叫futuretask.get()方法實現,此方法會阻塞主線程直到獲取『將來』結果;當不呼叫此方法時,主線程不會阻塞!

public

class

futrue

implements

callable

@override

public integer call() throws exception

}public

static

void

main(string arg) throws interruptedexception, executionexception

}

非同步執行緒:pool-1-thread-1

計算之後的num=20

主線程名:main

計算之前的num=10

通過執**況我們可以看到非同步執行的結果最後在呼叫task.get()方法時返回了計算後的結果。

java非同步任務

最近工作中遇到了個問題,需要使用非同步呼叫某方法 大致意思就是新開乙個執行緒去執行該任務 直接使用了springboot中的 async 目錄結構 配置類 package com.study.asynctask.asynchron import org.apache.tomcat.util.thre...

java同步非同步

同步 傳送乙個請求,等待返回,然後再傳送下乙個請求 非同步 傳送乙個請求,不等待返回,隨時可以再傳送下乙個請求 同步可以避免出現死鎖,讀髒資料的發生,一般共享某一資源的時候用,如果每個人都有修改許可權,同時修改乙個檔案,有可能使乙個人讀取另乙個人已經刪除的內容,就會出錯,同步就會按順序來修改。非同步...

java 非同步呼叫

業務要求流程流轉與資料記錄 插表 非同步進行 使用執行緒池實現非同步呼叫 1.執行緒池配置 name esg.taskexecutor class org.springframework.scheduling.concurrent.threadpooltaskexecutor name corepo...