關(guān)于Action傳參問題
如果使用 private String username 這種方式傳參數(shù)
我的理解是: 多個用戶訪問時共用一個 Action ?, ?此時會不會對 username這個變量產(chǎn)生 多線程的競態(tài)呢?
如果使用 private String username 這種方式傳參數(shù)
我的理解是: 多個用戶訪問時共用一個 Action ?, ?此時會不會對 username這個變量產(chǎn)生 多線程的競態(tài)呢?
2015-08-15
舉報
2015-08-19
?Struts 2 的 Action 對象為每一個請求產(chǎn)生一個實(shí)例,因此,雖然在Action中定義了很多全局變量,也不存在線程安全問題。Struts 2框架在處理每一個用戶請求的時候,都建立一個單獨(dú)的線程進(jìn)行處理,值棧ValueStack也是伴隨著局部線程而存在的。在該線程存在過程中,可以隨意訪問值棧,這就保證了值棧的安全性。在Struts 2中,ActionContext是一個局部線程,這就意味著每個線程中的ActionContext內(nèi)容都是唯一的。所以開發(fā)者不用擔(dān)心Action的線程安全。