Java新提案:Extent-Local變數
Extent-Local 被提議作為一種線上程之間共享資料的新方式,它比 ThreadLocals 更輕量、更不可變,它包含更不容易出錯的語法,並且與虛擬執行緒很好地配合使用。
目標
- 易用性——提供一種線上程內和與子執行緒共享資料的程式設計模型,以簡化對資料流的推理。
- 可理解性——使共享資料的生命週期從程式碼的句法結構中可見。
- 魯棒性——確保呼叫者共享的資料只能由合法的被呼叫者檢索。
- 效能——將共享資料視為不可變的,以便允許大量執行緒共享,並啟用執行時最佳化。
在虛擬執行緒程式設計中,執行緒區域性變數比共享資料通常所需的複雜性更高,而且成本高昂且無法避免。如果 Java 平臺提供了一種方法,可以為數千或數百萬個虛擬執行緒提供不可變的每個執行緒資料,並且考慮到分叉虛擬執行緒的低成本,那麼這將是理想的。因為這些每個執行緒的變數是不可變的,所以它們的資料可以被子執行緒有效地共享。此外,這些每個執行緒變數的生命週期應該是有限的:一旦最初共享資料的方法完成,透過每個執行緒變數共享的任何資料都應該變得不可用。
詳細點選標題
相關文章
- 新提案:C++將變得記憶體安全C++記憶體
- JavaScript 新提案:array.groupBy()JavaScript
- java變數Java變數
- java類變數Java變數
- 厲害了,JavaScript 新提案:array.groupBy()JavaScript
- 厲害了,ECMAScript 新提案:JSON模組JSON
- Java 變數型別Java變數型別
- Java 環境變數Java變數
- Java 變數種類Java變數
- 【Java】可變引數Java
- java常量和變數Java變數
- java變數及常量Java變數
- Java區域性變數與全域性變數Java變數
- java 全域性變數和區域性變數Java變數
- Java環境變數新增Java變數
- Java訪問類變數Java變數
- [java基礎]之變數Java變數
- 四:java常量和變數Java變數
- 高精地圖新變數地圖變數
- 【Java貓說】例項變數與區域性變數Java變數
- java 環境變數的配置Java變數
- linux java環境變數配置LinuxJava變數
- java中變數的作用域Java變數
- application.properties配置變數 javaAPP變數Java
- Java方法05:可變引數Java
- Java - 可變引數的使用Java
- java如何操作成員變數?Java變數
- 【重學Java】可變引數Java
- Python 新提案:“廢除”全域性直譯器鎖 GIL | CPython 直譯器或許會變得更快Python
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- java執行緒安全問題之靜態變數、例項變數、區域性變數Java執行緒變數
- JSR133提案-修復Java記憶體模型JSJava記憶體模型
- 新提案,初識CSS的object-view-box屬性CSSObjectView
- Java的方法可變長引數Java
- 教你認識Java 可變引數Java
- java基礎變數的交換Java變數
- java 學習 day01 變數Java變數
- java jdk 設定環境變數JavaJDK變數