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