关闭

servlet线程安全问题

212人阅读 评论(0) 收藏 举报
分类:

servlet线程安全问题


(1)为什么说servlet会存在线程安全问题

        a.容器在默认情况下,只会创建一个servlet实例(对象)。

        b.容器收到一个请求,就会启动一个线程来处理。

        如果有多个请求同时访问某个servlet,就会有多个线程调用同一个servlet实例,就有可能产生线程安全问题(比如,这些线程要修改servlet的属性)。


    (2)如何解决

        a,加锁

        使用synchronized对有可能产生线程安全问题的代码块加锁。

        注:

            加锁会影响性能。

        b,让一个servlet实现SingleThreadModel接口。(了解)

        容器会为这样的servlet(实现了SingleThreadModel接口)创建多个实例(一个线程一个实例)。

        注:

            因为有可能会产生过多的servlet实例,所以,在比较大型的应用当中,尽量少用。


    (3)jmeter压力测试工具

        可以模拟同时向服务器发多个请求。。。                                        


            

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:161995次
    • 积分:5008
    • 等级:
    • 排名:第5620名
    • 原创:351篇
    • 转载:36篇
    • 译文:0篇
    • 评论:15条
    文章分类