servlet单线程模式和类变量线程安全的关系

问题描述

servlet单线程模式和类变量线程安全的关系

class variables are considered thread-safe if the servlet uses the single thread mode。

这个说法正确吗? 我看到要设置 isThreadSafe="false" 才算开启servlet单线程模式,所以觉得这个选项是错的,是这样理解吗?
有人能解释下这个参数设置和单线程模式以及具体的线程安全之间的关系吗?

时间: 2025-01-18 19:14:19

servlet单线程模式和类变量线程安全的关系的相关文章

Servlet网上售票问题引发线程安全问题的思考_JSP编程

先分享相关代码: package com.lc.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServlet

Servlet MVC模式

MVC模式(Controller,Moderl,View):是软件开发过程中比较流行的设计思想.旨在分离模型.控制.视图.是一种分层思想的体现.浏览器发出一个请求->被控制器(Servlet)所接收->由servlet去实例化一个模型层(通常是javabean层,由javabean层调用数据库层)的对象->由模型层访问数据库层得到的结果可以返回给控制层或者说界面层也可以访问(保存在session中); 控制层获得模型层的反馈结果之后,选择合适的视图给用户呈现 最终给用户一个响应 MVC

singleton模式四种线程安全的实现

1.描述:     Singleton(单例)是设计模式的一种,为了保证一个类仅有一个实例,并提供一个访问它的全局访问点. 2.主要特点:          1)单例类确保自己只有一个实例(构造函数私有:不被外部实例化,也不被继承).     2)单例类必须自己创建自己的实例.     3)单例类必须为其他对象提供唯一的实例. 3.单例模式的应用:     资源管理器,回收站,打印机资源,线程池,缓存,配置信息类,管理类,控制类,门面类,代理类通常被设计为单例类     如果程序有多个类加载器又

UNIX环境高级编程:主线程与子线程的退出关系

我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下. 1.  主线程等待新线程先结束退出,主线程后退出.正常执行. 示例代码: #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <sys/types.h> pthread_t ntid;//线程ID void print

【转】Java线程与Linux内核线程的映射关系

Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程.  Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现来确定的.Linux 2.6上的HotSpot使用了NPTL机制,JVM线程跟内核轻量级进程有一一对应的关系.线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响到其内部的线程调度,举个例子,在linux下,只要一个Thread.run就会调用一个fork产生一个线程.

JSP编译成Servlet(四)JSP与Java行关系映射

我们知道java虚拟机只认识class文件,要在虚拟机上运行就必须要遵守class文件格式,所以JSP编译成servlet后还需要进一步编译成class文件,但从JSP文件到java文件再到class文件的过程需要考虑的事情比较多,其中一个比较重要的就是调试问题,由于语法不一样,jsp某行执行的逻辑怎样与java文件对应起来,这样在JVM执行过程发生异常或错误才能找到JSP对应的行,提供一个友好的调试信息.类似的,jsp文件名编译后的java文件名同样也要有映射关系.     总的来说,为了解决

JavaWeb学习之Servlet(三)----Servlet的映射匹配问题、线程安全问题

一.Servlet映射匹配问题: 在第一篇文章中的第四段(MyEclipse及Tomcat的配置)已经讲到这个知识,现在再细化一下: 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成. <servlet>元素用于注册Servlet,它包含有两个主要的子元素:<servlet-n

Servlet和JSP的线程安全问题

js|servlet|安全|问题 编写Servlet和JSP的时候,线程安全问题很容易被忽略,如果忽视了这个问题,你的程序就存在潜在的隐患. 1.Servlet的生命周期 Servlet的生命周期是由Web容器负责的,当客户端第一次请求Servlet时,容器负责初始化Servlet,也就是实例化这个Servlet类.以后这个实例就负责客户端的请求,一般不会再实例化其他Servlet类,也就是有多个线程在使用这个实例.Servlet之所以比CGI效率高就是因为Servlet是多线程的.如果该Ser

深入研究Servlet线程安全性问题

摘要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍. 关键字:Servlet 线程安全 同步 Java内存模型 实例变量 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率.由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题.然而,很多人编写Servlet/JS