@async

Stories List
@xiongshihubao

@Async的用法和示例

@Async 註解的用法和示例 [TOC] 背景 通常,在Java中的方法調用都是同步調用,比如在A方法中調用了B方法,則在A調用B方法之後,必須等待B方法執行並返回後,A方法才可以繼續往下執行。這樣容易出現的一個問題就是如果B方法執行時間較長,則可能會導致調用A的請求響應遲緩,為了解決這種問題,可以使用Spirng的註解@Async來用異步調用的方式處理,當然也會有別的多線程方式解決此類問題

xiongshihubao Avatar

@xiongshihubao

Nickname 醉舞經閣

@simonbaker_5ec61c266b1df

你知道async await的缺陷嗎?

文章不易,請關注公眾號 毛毛蟲的小小蠟筆,多多支持,謝謝。 缺陷 使用async和await後,我們的代碼看起來是同步的。這個就是它的優點。 await會阻塞後面的代碼,直到promise完成。但這會可能出現因為大量的await,導致promise變慢。 因為每個await都會等待前一個完成才執行,但使用promise雖然代碼看起來不是同步的,但請求卻是異步的,不會被阻塞。 Demo 比如下面截圖

simonbaker_5ec61c266b1df Avatar

@simonbaker_5ec61c266b1df

Nickname simonbaker

@cuicui_623c4b541e91e

DatenLord|重新思考Rust Async如何實現高性能IO

作者: 王璞 長期以來,計算機系統IO的速度一直沒能跟上CPU速度的提升,相比而言IO往往成為系統的性能瓶頸,計算任務等待IO存取數據,成為高性能系統的一大性能瓶頸。本文先剖析IO性能瓶頸的根源,然後舉例説明如何解決IO瓶頸,最後簡要介紹我們在高性能IO方面的嘗試。 IO性能瓶頸 當用户程序執行IO操作時,絕大多數情況下是調用操作系統內核提供的系統調用來執行IO操作,最常見的IO系統調用是read

cuicui_623c4b541e91e Avatar

@cuicui_623c4b541e91e

Nickname Datenlord

@liuyue_5e7eb6745e089

運籌帷幄決勝千里,Python3.10原生協程asyncio工業級真實協程異步消費任務調度實踐

我們一直都相信這樣一種説法:協程是比多線程更高效的一種併發工作方式,它完全由程序本身所控制,也就是在用户態執行,協程避免了像線程切換那樣產生的上下文切換,在性能方面得到了很大的提升。毫無疑問,這是顛撲不破的業界共識,是放之四海而皆準的真理。 但事實上,協程遠比大多數人想象中的複雜,正因為協程的“用户態”特性,任務調度權掌握在撰寫協程任務的人手裏,而僅僅依賴async和await關鍵字遠遠達不到“調

liuyue_5e7eb6745e089 Avatar

@liuyue_5e7eb6745e089

Nickname 劉悦的技術博客

@yanyue404

Promise 實現 (從簡易版到符合Promise A+規範)

前言 手寫 Promise 是面試的時候大家都逃避的送命題,在學些瞭解後發現通過實現源碼更能將新一代的異步方案理解的通透,知其然知其所以然的運用。 如果直接將源碼貼到此處勢必不能有更大的收穫,下面就按實現版本來看做簡要分析。 回顧 Promise Promise 是 CommonJS 提出來的這一種規範,有多個版本,在 ES6 當中已經納入規範,原生支持 Promise 對象,非 ES6 環境可以

yanyue404 Avatar

@yanyue404

Nickname RainBow

@banxiazhimo

日誌-log4j2基於AsyncAppender的異步日誌打印

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

banxiazhimo Avatar

@banxiazhimo

Nickname 半夏之沫

@sean_5efd514dcd979

《底層到底做了什麼》--- spring 的 @EnableAsync

在spring 框架中開啓某項功能,常常會在Application類中使用@EnableXXX註解,來開啓某個功能。“開啓”其實就是把相關的bean注入spring容器中。 以@EnableAsync為例。在@EnableAsync中使用@import把相關的bean注入容器中,這個bean默認是ProxyAsyncConfiguration。ProxyAsyncConfiguration是個@C

sean_5efd514dcd979 Avatar

@sean_5efd514dcd979

Nickname 一句話

@banxiazhimo

日誌-log4j2基於AsyncLogger的異步日誌打印

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

banxiazhimo Avatar

@banxiazhimo

Nickname 半夏之沫

@gkymfrg1

async/await實現原理

async/await是ES2017帶來的異步編程語法糖,實現了讓異步代碼看起來像同步代碼的效果。 async/await 的本質是基於Promise,它並不是一種新的異步處理方式,而是Promise 的一種新的語法封裝升級。 下面是 async/await 的實現原理: async 函數本質上是一個 Generator 函數,返回一個 Promise 對象。 await 表達式本質上是一個 Pr

gkymfrg1 Avatar

@gkymfrg1

Nickname ohoherror

@jdcdevloper

你真的瞭解@Async嗎? | 京東雲技術團隊

使用場景: 開發中會碰到一些耗時較長或者不需要立即得到執行結果的邏輯,比如消息推送、商品同步等都可以使用異步方法,這時我們可以用到@Async。但是直接使用 @Async 會有風險,當我們沒有指定線程池時,他會默認使用其Spring自帶的 SimpleAsyncTaskExecutor 線程池,會不斷的創建線程,當併發大的時候會嚴重影響性能。所以可以將異步指定線程池使用 簡介: @Async是Sp

jdcdevloper Avatar

@jdcdevloper

Nickname 京東雲開發者

@apifox

深度剖析 Spring Boot Async:解讀原理與實戰指南

Spring Boot 的異步功能(Async)允許我們將某些任務異步執行,而不會阻塞主線程。這對於處理耗時的操作非常有用,如發送電子郵件、生成報表、調用外部 API 等。通過異步處理,我們可以釋放主線程,讓它繼續處理其他請求,同時後台任務在後台線程中進行。這種方式可以顯著提高應用程序的響應速度和併發性。 Spring Boot Async 使用場景 以下是一些適合使用 Spring Boot

apifox Avatar

@apifox

Nickname Apifox

@ssbunny

異步 Rust 何故今狀?

原文:Why async Rust? 譯者:兔子不咬人 Rust 中的 async/await 語法發佈之初備受關注和鼓舞!引用當時 Hacker News 的説法: 它將掀起新的序幕。我相信有很多人正等待該特性被 Rust 採用的一刻。我本人也絕對是其中一個。 此外,它保持了所有優點:開源、高質量的工程、開放的設計,大批貢獻者為一個複雜的軟件做出貢獻。真是鼓舞人心! 最近,對它的

ssbunny Avatar

@ssbunny

Nickname Qiang

@journey_64224c9377fd5

Spring ThreadPoolTaskExecutor解説

1、ThreadPoolTaskExecutor @Async示例 @Async 註解的作用 異步執行方法: 被 @Async 註解標記的方法會在一個獨立的線程中執行,而不是在調用者的線程中。這意味着調用方法時,調用者線程會立即返回,並且方法的實際執行會在後台進行 提高併發性和性能: 通過異步執行耗時的操作,可以提高應用程序的響應速度和吞吐量。例如,在Web應用中,可以異

journey_64224c9377fd5 Avatar

@journey_64224c9377fd5

Nickname journey

@user_zsxbv7bi

Python 異步協程:從 async/await 到 asyncio 再到 async with

在 Python 3.8 以後的版本中,異步編程變得越來越重要。本文將系統介紹 Python 標準庫中的異步編程工具,帶領大家掌握 async/await 語法和 asyncio 的使用。 從一個簡單的場景開始 假設我們在處理一些耗時的 I/O 操作,比如讀取多個文件或處理多個數據。為了模擬這種場景,我們先用 time.sleep() 來代表耗時操作: import time import ran

user_zsxbv7bi Avatar

@user_zsxbv7bi

Nickname user_zsXbv7Bi

@chen_67f9ccbe6f07b

Spring @Async 內部調用失效問題:五種解決方案實戰分析

是不是遇到過這種情況:你給一個方法加上了@Async 註解,期待它能異步執行,結果發現它還是同步執行的?更困惑的是,同樣的註解在其他地方卻能正常工作。這個問題困擾了很多 Java 開發者,尤其是當你在同一個類中調用帶有@Async 註解的方法時。今天,我們就來深入解析這個問題的原因,並提供多種實用的解決方案。 Spring @Async 的正常工作原理 在討論內部調用問題前,我們先了解一下@Asy

chen_67f9ccbe6f07b Avatar

@chen_67f9ccbe6f07b

Nickname 異常君