Spring中使用 Async非同步呼叫方法

2021-09-29 01:43:30 字數 1772 閱讀 9171

非同步方法呼叫使用場景:處理日誌、傳送郵件、簡訊......

spring中提供了@async來實現非同步方法。

@async修飾類,則該類所有方法都是非同步的,@async修飾方法,則該方法是非同步的。

被修飾的方法在被呼叫時,會在乙個新的執行緒中執行。

asynctask類

@component

public class asynctask

}

asynctask類中也可以注入logservice來往資料庫記日誌

xml檔案配置

若不配置執行器,則使用預設的執行器。

controller注入

@controller

public class teachercontroller

}

執行結果

info[com.gs.teacher.task.asynctask:15]- sonthread[defaulttaskexecutor-1,5,main]springboot的實現方式很簡單

asynctask類

@component

public class asynctask

}

@enableasync

public static void main(string args) }

這種配置不指定executor,會使用預設的executor

controller注入

@controller

public class teachercontroller

}

執行結果

info[com.gs.teacher.task.asynctask:15]- sonthread[defaulttaskexecutor-1,5,main]springboot配置executor

/**

* @author gs

* @create 2017/11/21

* @desc 非同步方法呼叫的executor

*/@configuration

@enableasync

public class executorconfig

}

asynctask檔案@async指定執行器

@component

public class asynctask

}

執行結果

info[com.gs.teacher.task.asynctask:15]- sonthread[my******async-1,5,main]

vue中使用async和await處理非同步

寫專案經常碰到先進性乙個axios請求,然後在進行下乙個axios請求,但是此次的請求需要,用到上一次請求返回來的引數,因為axios是非同步的,所以可以axios請求巢狀獲取,但當資料多的時候,頁面會非常的亂,此時就需要用到async和await的使用,使上述情況就好像寫同步 一樣,請看例子 這是...

springboot使用 async實現非同步執行緒池

工作中經常涉及非同步任務,通常是使用多執行緒技術,比如執行緒池threadpoolexecutor,但使用executors容易產生oom,需要手動使用threadpoolexecutor建立執行緒池 在springboot使用 async 可以實現非同步呼叫,配置執行緒池引數,可以簡單的實現多執行...

async函式 asynchronous 非同步的

async函式 asynchronous 非同步的 同步 console.log 1 console.log 2 console.log 3 console.log 4 依次列印1 2 3 4 非同步 ajax 檔案讀取io操作 console.log 1 console.log 2 settime...