<%@ page contentType="text/html; charset=gb2312"%> javabean中多线程的问题
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
javabean中多线程的问题
     发布者:佚名 发布时间:2006-06-15
用javabean实现WEB服务功能时,每个客户端连上来都会新创建一javabean
如果想通过javabean来读写log文件,怎么来避免多线程引起的文件读写冲突错误?
是否可以使用synchronized 关键字来实现?
只要在BEAN中实现同步,对BEAN的每一个实现例之间同步的控制由系统来负责,
不要你担心,保证它们会按自己锁好的.

所谓线程控制,都是在同一进程中而言的,一个同步方法只能在同一进程中控制.
如果同时运行两个进程,它们之间的同步是不能互相控制的.假如CGI中的线程一个同步方法(只是假如),你的请求只能保证你的请求的进程中的线程做同步控制,不能保证我的请求的进程中方法同步,它们都是在一个进程中用文件锁来控制的.
就是说当一个CGI进程打开时别的所有进程都要等待.

但JSP和SERVLET是独立线程的,所有人访问的都是同一进程中的独立线程,它们都在同一进程中,当然能完全控制所有访问的同步机制,独立线程和可控制的安全性是J2EE结构最终要取代CGI的最大卖点.

对于一般的应用程序,一般是不会同时运行一个类的两个进程,万一要运行,如何控制它们之间的同步哩?同步有两种实现,一是方法同步,一是语法块同步,注意语法块同步的参数一般都是synchronized(this){..........}this是指向当前对象的句柄,也就是说我要做语法块中的事时,这个资源为当前对象(整个进程)所占用,也就是说象CGI那样进程中间同步控制.

对于BEAN是这样的,第一次请求都是一个实例,但BEAN只是一个对象,不管多少个这样的实例对象都在一个进程中的.
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
改写后的使用javamail pop3收信的javabean
产生彩色验证码_(javabean实现)
将数据库操作封装到Javabean
利用反射实现JavaBean的自动赋值
用JavaBean连接数据库
第一个JavaBean
 
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号