【servlet】Servlet多線程問題

[size=medium]Servlet本身是單實例的,這樣當多個用戶同時訪問某個Servlet時,會訪問該唯一的Servlet實例中的成員變量,如果對成員變量進行寫入工作,那就會導致Servlet的多線程問題,即數據不一致。
解決Servlet多線程同步問題的方案:
  1,Servlet實現了javax.servlet.singleThreadModel(Servlet2.4中已經廢棄該接口),此時的Servlet容器將保證Servlet實例是以單線程的方式運行,也就是說同一時刻,只會有一個線程運行Servlet的service()方法。 不推薦使用,大大降低了效率。
  2,去除實例變量,使用局部變量 推薦
  3,使用同步代碼塊 synchronized{...} 不推薦使用[/size]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章