servlet线程安全问题

servlet线程安全问题


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

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

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

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


    (2)如何解决

        a,加锁

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

        注:

            加锁会影响性能。

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

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

        注:

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


    (3)jmeter压力测试工具

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


            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值