java中关于数据的倒计时
需求:用户提出申请,如果提出申请24小时候没有回应,即时打回申请。要求即时,相当与每条申请有一个计时器。
有什么方法,可以实时监控数据,是否到了时间点?
不要说什么一个小时扫描一次这样的做法,只求能即时反应的
java中关于数据的倒计时
需求:用户提出申请,如果提出申请24小时候没有回应,即时打回申请。要求即时,相当与每条申请有一个计时器。
有什么方法,可以实时监控数据,是否到了时间点?
不要说什么一个小时扫描一次这样的做法,只求能即时反应的
可以这样做
首先执行查询数据库里离现在时间最近一条需要提醒的数据
计算出当前时间到要提醒的时间的时间间隔S1
启动一个线程,让这个线程睡眠S1左右时间,然后叫醒该线程去发送通知,并重新查询数据库取得下一条离现在时间最近的一条需要提醒数据
计算时间间隔S2,
让线程继续睡觉S2左右的时间,~~~
如此
同时,如果有新数据添加,或修改或删除,
重新计算离现在时间最近一条需要提醒的数据时间间隔S3
将正在睡觉的线程主动叫醒但不发送通知,
修改线程睡觉时间s3,
然后线程继续睡觉S3时间自动醒来,,
重复执行通知,睡觉等一系列动作~~~~