做了一段B/S开发了,编程知识增长了不少,可是,感觉很多理论的东西还不是很清楚:1.页面的上的一个方法对应一个后台的服务,当多个浏览器同时操作时即同时调用后台的服务时,服务器是如何处理的?比如是完全并发的还是其他的方式?2.对数据库的操作:同时打开两个页面,对同一个记录,一个进行删除操作,一个进行修改操作(修改分为:查询、更新两步),在查询获得记录还未进行更新操作的时候,该记录被删除了,这种情况会不会发生,如果会的话如何防止?非常感谢!
调试欢乐多
2.有可能发生 在进行更新操作之前先根据主键判断该记录是否存在 是则update否则insert
function void deleteRecord(){
delete();//只有一步
}function void modifyRecord(){
if(queryRecord()){//先查询看看该记录是否存在
modify();//如果存在则进行修改
}
}我指的是有两个页面,在一个页面执行了if(queryRecord())并且返回true但未执行modify()时,在另一个页面执行了deleteRecord()。这个情况会不会存在,如何防止。谢谢!
2.加锁.啥乐观锁,悲观琐的,hibernate似乎是默认乐观锁.
2、数据库加锁。