• 开玩笑Web它servlet(五岁以下儿童)---- 如何解决servlet线程安全问题


    servlet默认值是安全线的存在,但说白,servlet安全线实际上是一个多线程线程安全问题。因为servlet它正好是一个多线程的安全问题出现。

    每次通过浏览器http同意提交请求,将一个实例servlet对象。这产生一个线程,是同一个对象。应该把该变量定义成实例变量,但这就可能发生线程不安全的问题。以下举个简单的样例:

     张三看到仓库里有3件物品,他要去拿两件,但这时李四也来了。抢先他一步拿了两件物品,当张三拿的时候。仓库根本无法提供给他两件物品。这就是线程不安全。

    这样的情况下应该使用synchronized加锁装置保证同一时刻仅仅有一个线程执行,仅仅有当这个线程执行完并释放锁,下一个线程才干执行。


    另一种情况是多个用户操作的不是同一个变量。这时就应该将变量定义为局部变量,他们各自操作各自的对象,不与彼此的各线程之间干扰。也不会产生线程安全问题。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    pikachu漏洞练习之sql注入
    redis未授权访问漏洞复现
    Springboot导出Excel并下载
    Springboot使用javaMail进行邮件发送
    springboot实现上传并解析Excel
    微信提示“在浏览器打开”效果实现
    docker入门(二):镜像和容器
    centos安装mysql
    centos安装tomcat
    centos7安装jdk
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4618651.html
Copyright © 2020-2023  润新知