关于Servlet及JSP中遇到的多线程同步问题

俊磊先生

俊磊先生

2016-02-19 20:58

今天给大家分享的是由图老师小编精心为您推荐的关于Servlet及JSP中遇到的多线程同步问题,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的同步问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程同步的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题,对于这类随机性的问题调试难度也很大。

在Servlet/JSP中的几种变量类型

在编写Servlet/JSP程序时,对实例变量一定要小心使用。因为实例变量是非线程安全的。在Servlet/JSP中,变量可以归为下面的几类:

1. 类变量

request,response,session,config,application,以及JSP页面内置的page, pageContext。其中除了application外,其它都是线程安全的。

2. 实例变量

实例变量是实例所有的,在堆中分配。在Servlet/JSP容器中,一般仅实例化一个Servlet/JSP实例,启动多个该实例的线程来处理请求。而实例变量是该实例所有的线程所共享,所以,实例变量不是线程安全的。

3. 局部变量

局部变量在堆栈中分配,因为每一个线程有自己的执行堆栈,所以,局部变量是线程安全的。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

关于Servlet及JSP中遇到的多线程同步问题

编程语言 网络编程
关于Servlet及JSP中遇到的多线程同步问题

Servlet及JSP中的多线程同步问题

Java JAVA基础
Servlet及JSP中的多线程同步问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

关于Java多线程

编程语言 网络编程
关于Java多线程

Delphi中实现多线程同步查询(2)

Delphi
Delphi中实现多线程同步查询(2)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi中实现多线程同步查询(1)

Delphi
Delphi中实现多线程同步查询(1)

Swing中的多线程

编程语言 网络编程
Swing中的多线程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何使用MAC自带预览软件批量处理图像大小

如何使用MAC自带预览软件批量处理图像大小

Linux中搭建DataGuard时出现ORA-12528报错该怎么办?

Linux中搭建DataGuard时出现ORA-12528报错该怎么办?
下拉加载更多内容 ↓