数据共享同步的问题

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就是单线程了.
不知道有没有其他更好的方案呢?谢谢


...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
predisw 2015-09-13
  • 打赏
  • 举报
回复
最后用了读写锁 ReadWriterLock
predisw 2015-08-12
  • 打赏
  • 举报
回复
自己回自己一下.

81,092

社区成员

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

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