日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在JAVA語言里,面向對象思想能夠讓并發編程變得更簡單。

可以從封裝共享變量,識別共享變量間的約束條件和執行并發訪問策略這三個方面下手。

高效的并發程序要如何寫,Java程序員通過這幾步簡單做到

 

封裝共享變量

將共享變量作為對象屬性封裝在內部,對所有公共方法指定并發訪問策略。

對于不用發生變化的共享變量(如銀行卡號,身份證號),建議使用final關鍵字修飾。

public class Counter { 
 private long value; 
 synchronized long get(){ 
 return value; 
 } 
 synchronized long addOne(){ 
 return ++value; 
 } 
}

識別共享變量間的約束條件

/**
 * AtomicLong 是線程安全的
 */
public class SafeWM { 
 // 庫存上限 
 private final AtomicLong upper = new AtomicLong(0); 
 // 庫存下限 
 private final AtomicLong lower = new AtomicLong(0); 
 // 設置庫存上限 
 void setUpper(long v){ 
 //檢查參數合法性
 if(v < lower.get()){
 throw new IllegalArgumentException(); 
 }
 upper.set(v); 
 } 
 // 設置庫存下限 
 void setLower(long v){ 
 //檢查參數合法性
 if(v > upper.get()){
 throw new IllegalArgumentException(); 
 }
 lower.set(v); 
 } 
 // 省略其他業務代碼 
}

制定并發訪問策略

  1. 避免共享: 利用線程本地存儲以及每個認為u分配獨立的線程。
  2. 不變模式:在java領域應用的很少。
  3. 管程及其他同步工具:Java領域萬能的解決方案是管程,但是對于很多特定場景,使用Java并發包提供的 讀寫鎖、并發容器等同步工具會更好。

寫出健壯的并發程序的原則

  1. 有限使用成熟的工具類:java SDK并發包里提供了豐富的工具類,能滿足日常需求。
  2. 迫不得已時才使用低級的同步原語:低級同步原語指的是synchronized,Lock,Semaphore等。
  3. 避免過早優化: 安全第一,并發成語首先要保證安全,出現性能瓶頸后再優化。

分享到:
標簽:并發 程序
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定