开发者社区> 问答> 正文

求java方向的前辈们戳入,关于单例的一些疑惑,求解~~~~? 400 报错

求java方向的前辈们戳入,关于单例的一些疑惑,求解~~~~? 400 报错 所谓单例就是指在一次请求中只实例化一个对象,然后用这个对象进行一些操作,现在假设一个项目发布到服务器上面了,假设现在几乎同时有50个人发出这样一个请求,那么tomcat会开辟50个线程来运行程序,单例被第一个进来的线程实例化以后能被第二个进来的线程使用吗?还是说会同时产生50个单例,每个单例服务每个线程程序?求解答,很迷惑啊。。。。。。

展开
收起
爱吃鱼的程序员 2020-06-01 10:30:42 439 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    同时产生50个还叫单例么?单例不应该是被第一个线程实例化的,而是实例化后被多个线程同时访问。例如tomcat中的servlet是个典型的单例,是被tomcat容器new出来,doXXX方法同时服务多个请求,每个请求都是一个独立的线程。这种方法中的局部变量,每个线程都有独立的内存空间,互不干扰。如果存在成员变量,则会被多个线程同时访问,就会产生线程安全的问题。单例的成员变量你可以简单的想象成像static的类变量一样,只有一份,被多个线程同时操作。######谢谢了,大神,豁然开朗了许多~######不管你几个线程,单例就是只有一个,是线程同步的。

    2020-06-01 10:30:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载