2013-2-24

这周末处理之前开发时遇到的问题,把思路梳理一下:

系统利用axis2+spring框架作为接口开发的标准,由于spring在实例化bean的时候,默认bean都为单例模式,也就是说webservice的实现类都是单例的,这样高并发的请求到达服务器时,就会遇到线程之间共享数据的问题:

系统存在的缺陷是多个线程共享一块成员变量(此成员变量是接口实现类中的成员变量)这样当A线程需要读变量的时候,B线程在写,就会造成混乱,也就是线程之间不安全。

我暂时的解决办法是在接口方法中声明一个临时变量,这样多个线程之间就可以相互不受干扰,因为多个线程在执行时都有一块属于自己的内存空间,线程执行时会把他用到的临时变量放在自己的内存空间里,不受其他线程的影响。程序从上到下执行时,利用函数传参的方式来共享这个临时变量的值,这样就可以做到多线程之间相互独立,一个线程纵向共享数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章