1. gzyueqian
      13352868059

      Java培訓:了解Project Loom并發模型

      更新時間: 2022-08-19 10:00:47來源: 粵嵌教育瀏覽量:9096

        Project Loom 正在積極開發中,最近已針對 JDK 19 作為預覽功能,其目標是更容易編寫、調試和維護并發 Java 應用程序。詳細了解 Project Loom 的并發模型和虛擬線程。通過java培訓,你可以學習更多java框架,以提高java技能。

        Java中的線程是什么?什么是虛擬線程?

        在Java和一般計算中,線程是一個獨立的執行流。它告訴你的程序做一些事情。有了線程,你可以讓多件事情同時發生。

        Java中的傳統線程非常繁重,并且與操作系統線程一對一綁定,這使得調度線程成為操作系統的工作。這意味著線程的執行時間取決于CPU。虛擬線程,也稱為綠色線程或用戶線程,將調度的責任從操作系統轉移到應用程序,在本例中是JVM。這允許JVM在決定下一步調度哪個線程時,利用它對虛擬線程中發生的事情的了解。

        虛擬線程的優勢

        今天,Java大量用于后端web應用程序,為來自用戶和其他應用程序的并發請求提供服務。在傳統的阻塞I/O中,線程在等待數據被讀取或寫入時會阻塞繼續執行。由于線程的繁重,應用程序可以擁有的線程數量是有限的,因此應用程序可以處理的并發連接數量也是有限的。這個約束意味著線程不能很好地伸縮。想要學習java更多知識和技能,可以考慮參加java培訓,有經驗豐富的專業講師指導教學,有緊跟市場需求的實時課程,可以讓你快速掌握這門技術,節約時間,少走彎路。

        長期以來,解決這個問題的方法是使用非阻塞的異步I/O。當使用異步I/O時,單線程可以處理許多并發連接,但代價是增加了代碼的復雜性。處理單個連接的單個執行流更容易理解和推理。雖然今天的許多框架,特別是反應式框架,對開發人員隱藏了許多這種復雜性,但是異步I/O需要不同的思維方式。

        

        為什么要使用Project Loom?

        這就是織機項目的用武之地。虛擬線程讓開發人員有機會使用傳統的阻塞I/O進行開發,因為虛擬線程的一大好處是阻塞一個虛擬線程不會阻塞整個操作系統線程。這消除了阻塞I/O的可伸縮性問題,但沒有使用異步I/O所增加的代碼復雜性,因為我們回到了只監督單個連接的單個線程。

        使用 Project Loom 擴展 Java 線程

        使用虛擬線程進行開發與使用傳統線程進行開發幾乎相同,增強提案為此添加了幾個 API 方法。在java培訓中,也有關于線程的學習,理論知識+實踐項目,雙管齊下,學以致用,讓你深入淺出地學習java。

        Thread類本身有一些添加的方法,例如Thread.ofVirtual(),它們返回一個構建器來啟動虛擬線程或創建一個ThreadFactory。同樣,已添加Executors.newVirtualThreadPerTaskExecutor() 以創建使用虛擬線程的ExecutorService。在許多情況下,切換到使用這些來創建ExecutorService 或ThreadFactory就足以利用虛擬線程!

        與任何其他預覽功能一樣,要利用它,你需要在編譯和運行時添加 --enable-preview JVM 參數。

        Project Loom和Java 的未來

        盡管異步 I/O 很難,但很多人已經成功地做到了,但這種思維方式的轉變并未被廣泛采用。Netflix 以使用響應式編程而廣為人知,并且是響應式編程框架的重要貢獻者,但即使他們最近也縮減了使用量。

        雖然虛擬線程不會神奇地讓一切運行得更快,但針對當前早期訪問版本運行的基準測試表明,你可以獲得與使用異步I/O時相似的可伸縮性、吞吐量和性能。對java感興趣的同學可以報名參加java培訓來獲得更加全面系統的學習。

        


        在虛擬線程的當前實現中,虛擬線程調度器是一個工作竊取 fork-join 池。對于大多數人來說,這可能就是所需要的。但是已經提出了能夠提供你自己的調度程序來代替使用的請求。雖然當前預覽版目前不支持此功能,但我們可能會在未來的改進或增強提案中看到它。

        虛擬線程目前的目標是作為預覽功能包含在JDK 19中。如果一切順利,虛擬線程應該準備好在JDK 21發布時退出預覽狀態,這可能是下一個LTS版本。

        對于早期采用者,已經包含在JDK 19的最新早期版本中。因此,如果你愿意,就去嘗試一下,并將你的體驗反饋給OpenJDK開發人員,這樣他們就可以適應和改進未來版本的實現。通過Java培訓學習,有經驗豐富的專業講師面授指導教學和明確清晰的學習路線,可以輕松有效地學到很多有用的知識和技能。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 婷婷久久綜合九色综合 | 亚洲中文自拍另类片 | 香蕉啪视频在线观看视频久 | 在线免费午夜国产网站 | 午夜国语精品自产拍在线观看 | 日本在线精品视频观看 |