一般來說,圍繞被動異步代碼異步處理請求(play,akka,netty等)存在巨大的噱頭。 以這種方式執行代碼時,建議不要在任何地方阻止和使用異步庫。 如果我正確理解這一點,這種方式,而不是爲每個請求創建一個線程,我們最終有線程執行者爲這些庫帶來的執行的多個部分(主要處理請求,異步調用服務執行程序,異步數據庫驅動程序執行程序等)如何實現異步數據庫庫?
這種方式執行最終分裂成多個線程(=在多個執行者中)。 這些異步庫如何實現以便帶來任何好處?因爲在異步數據庫驅動程序具有執行程序的情況下,該程序運行一個簡單地等待數據庫答案的線程,所以我認爲它不會帶來任何好處。我們最終會等待任何東西,只需創建額外的線程來執行,等待不會有任何幫助。還是呢?
這些庫使用固定大小的線程池和異步IO。他們不會爲每個請求打開一個新線程。 –
而且你知道,這不是一個好問題。您列出了各種不同的框架;你在找什麼?有人向你詳細解釋這些工作是如何在內部工作的? – GhostCat