数据共享同步的问题

predisw 2015-08-12 05:16:36
问题如下:
方法A 根据变量b 的状态去写入新的数据到数据库中.方法B可以修改变量b 的状态.
线程1 调用方法A判断变量b 没有被修改,然后准备写入新数据到数据库中.如果这时,线程1 暂时挂起.cpu执行线程2,调用方法B修改了变量b.然后再启用线程1 去写入新数据到数据库中.这个时候线程1 写入的数据其实是错误的.
请问这种情况怎么解决? 不希望使用 Synchronized;因为 方法A 是经常调用的,而方法B很少调用.如果为了预防方法B 修改了变量b而加入Synchronized,那么方法A就是单线程了.
不知道有没有其他更好的方案呢?谢谢


...全文
85 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
predisw 2015-09-13
最后用了读写锁 ReadWriterLock
回复
predisw 2015-08-12
自己回自己一下.
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-08-12 05:16
社区公告
暂无公告