前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet实例数量到底多少,是否线程安全

Servlet实例数量到底多少,是否线程安全

作者头像
JavaEdge
发布2021-12-07 13:55:57
3210
发布2021-12-07 13:55:57
举报
文章被收录于专栏:JavaEdgeJavaEdge

通过注解或servlet声明都能控制 servlet 容器如何提供 servlet 实例。

对于非分布式(默认)的 servlet,servlet 容器对于每个 Servlet 声明必须且只能产生一个实例。 但若 Servlet 实现了 SingleThreadModel 接口,servlet 容器可选择实例化多个实例以便:

  • 处理高负荷请求
  • 或串行化请求到一个特定实例

若 servlet 部署分布式环境,容器可为每个JVM的每个 Servlet 声明产生一个实例。但若在分布式环境中 servlet 实现了 SingleThreadModel 接口,此时容器可以为每个容器的 JVM 实例化多个 Servlet 实例。

Single Thread Model

SingleThreadModel 接口的作用是保证一个特定 servlet 实例的service方法在一个时刻仅能被一个线程执行。注意,此保证仅适于每个 servlet 实例,因为容器可以选择池化这些对象。 有些对象可以在同一时刻被多个 servlet 实例访问,如 HttpSession 实例,可以在一个特定的时间对多个 Servlet 可用,包括那些实现了 SingleThreadModel 接口的 Servlet。

参考

  • https://download.oracle.com/otndocs/jcp/servlet-3_1-fr-spec/index.html
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Single Thread Model
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档