我已經開始閱讀關於單例會話bean和用於使用容器管理的併發的註釋。與單純使用'synchronized'關鍵字相比,我沒有看到這個好處,所以我懷疑有一些重要的東西我錯過了。從書「Enterprise JavaBeans 3.1」由Rubinger &伯克認爲這個例子中,奧萊理:EJB 3.1容器管理併發與同步
@javax.ejb.Lock(javax.ejb.LockType.READ)
public String concurrentReadOnlyMethod(){...}
@javax.ejb.Lock(javax.ejb.LockType.WRITE)
public void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}
這怎麼比讀情況下,所有toghether省略了註釋,並在寫的情況下使用關鍵字更好,像這樣:
public String concurrentReadOnlyMethod(){...}
public synchronized void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}
如果我理解正確,我可以像這樣非正式地說:給定一個包含上述兩個方法的類,使用容器管理併發性,語義是「只要沒有寫入就允許併發讀取」。對比例的語義是「允許併發讀取,也可以在寫入時進行,但一次只能寫入一個線程」。 –
是的,它總結得非常好。 –
您可以給我一個EJB 3.1中READ/WRITE鎖定語義的參考嗎?即使在規範中我也找不到它。 – illEatYourPuppies