在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); } // 省略其餘業務代碼 }
**** 碼字不易若是對你有幫助請給個關注****工具
**** 愛技術愛生活 QQ羣: 894109590****性能