毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

java servlet 如何处理并发请求

更新时间:2014-3-6:  来源:毕业论文

有个quereyServlet接口,内含select 和 insert 操作都是针对同一个表 tableA。
比如,request1 和request2 ,有可能request1的请求业务逻辑还未完成,request2的请求
就已经来了,两个请求数据上有前后之分。

单利变量,成员变量,静态成员变量都有可能成为共享变量,用的时候注意了就行,servlet本身不是线程安全的。如果确实要在程序处理过程中使用到这些变量,又有临界区数据被修改,可以适当使用同步,队列,CAS等非同步线程安全的处理方法。事物能保证一致性和回滚,但是是否能保证线程安全应该还有待思考吧,也希望rui888解析下事物在保持线程安全方面做了哪些工作
顺带复制点概念:
事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
private static Object lock = new Object();   public void insert() {     synchronized (lock) {         //这里写代码     } } public void select() {     synchronized (lock) {         //这里写代码     } }

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。