我有两个线程处理数据库。一个从数据中接收数据,并将“ RunningState”设置为0。另一个旋转直到找到存储库中的数据更新为0,然后继续。
线程1:
appliance.setRunningState(newMode);
appliance.setLastSendDataTime(send_time);
applianceRepository.saveAndFlush(appliance);
return "success";
线程2:
while(true){
appliance = applianceRepository.findByUserAndAid(user.getUid(), aid);
if (appliance == null){
return "err: no appliance with Id "+aid;
}
if ( appliance.getRunningState() == 0 )
return recv_message;
}
但是,在IDEA的调试模式下,我发现线程2中获得的runningState始终为1,因此它永远不会返回。它怎么会发生,我该如何解决这个问题?