Java新提案:Extent-Local變數
Extent-Local 被提議作為一種線上程之間共享資料的新方式,它比 ThreadLocals 更輕量、更不可變,它包含更不容易出錯的語法,並且與虛擬執行緒很好地配合使用。
目標
- 易用性——提供一種線上程內和與子執行緒共享資料的程式設計模型,以簡化對資料流的推理。
- 可理解性——使共享資料的生命週期從程式碼的句法結構中可見。
- 魯棒性——確保呼叫者共享的資料只能由合法的被呼叫者檢索。
- 效能——將共享資料視為不可變的,以便允許大量執行緒共享,並啟用執行時最佳化。
在虛擬執行緒程式設計中,執行緒區域性變數比共享資料通常所需的複雜性更高,而且成本高昂且無法避免。如果 Java 平臺提供了一種方法,可以為數千或數百萬個虛擬執行緒提供不可變的每個執行緒資料,並且考慮到分叉虛擬執行緒的低成本,那麼這將是理想的。因為這些每個執行緒的變數是不可變的,所以它們的資料可以被子執行緒有效地共享。此外,這些每個執行緒變數的生命週期應該是有限的:一旦最初共享資料的方法完成,透過每個執行緒變數共享的任何資料都應該變得不可用。
詳細點選標題
相關文章
- JavaScript 新提案:array.groupBy()JavaScript
- java變數Java變數
- 厲害了,JavaScript 新提案:array.groupBy()JavaScript
- 厲害了,ECMAScript 新提案:JSON模組JSON
- java類變數Java變數
- Variables in 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變數
- [java基礎]之變數Java變數
- 四:java常量和變數Java變數
- Java環境變數新增Java變數
- Java final自變數Java變數
- java環境變數配置Java變數
- java 配置環境變數Java變數
- JAVA介面中的變數Java變數
- 【Java貓說】例項變數與區域性變數Java變數
- 新提案,初識CSS的object-view-box屬性CSSObjectView
- 有屏智慧音響的新戰爭、新挑戰、新變數變數
- java如何操作成員變數?Java變數
- 【重學Java】可變引數Java
- java 環境變數的配置Java變數
- Java - 可變引數的使用Java
- java基礎變數的交換Java變數
- java中變數的作用域Java變數
- Mac配置Java環境變數MacJava變數
- ubuntu 配置java環境變數UbuntuJava變數