servlet 中代码块的同步的问题

gogc 2006-02-13 09:05:42
不同的客户端通过servlet 调用同一个java类的方法
这个方法中要对数据库表插入一条记录。
我想用同步这个方法中的一部分代码块。
目的是为了不同线程不能同时执行代码块。

方法如下
synchronized (lock)
{
1、查询A表
2、插入A表
}
或者
同步整个方法,好像也不好用
这是为什么?

请大家帮忙,谢谢!
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
infowain 2006-02-13
  • 打赏
  • 举报
回复
一定要同一个实例才能够同步吗?这样好奇怪
yuzl32 2006-02-13
  • 打赏
  • 举报
回复
统一个实例 ---> 同一个实例.
调用同一个实例的方法才会考虑同步或者不同步.
如果是调用不同实例的同一个方法,它们是不存在同步性问题.即:随时都可以调用,这时就应该考虑用数据库加锁.
gogc 2006-02-13
  • 打赏
  • 举报
回复
搞定了,谢谢,原来的做法没有错,不知道上次就怎么不好用了。谢了。
gogc 2006-02-13
  • 打赏
  • 举报
回复
谢谢大家的回复
==========
你查看一下不同的客户端通过servlet 调用同一个java类 生成是不是统一个实例.
==========
这个是什么意思?
能不能解释一下,我们的系统采用类似struct的构架。
yuzl32 2006-02-13
  • 打赏
  • 举报
回复
你查看一下不同的客户端通过servlet 调用同一个java类 生成是不是统一个实例.
masse 2006-02-13
  • 打赏
  • 举报
回复
哪里不好用了?
数据库上加锁吧

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧