如何从另一个函数停止java函数?
我在任何时候都执行一项功能。此函数用于检查数据库的上次更新。当数据库的上次更新大于指定时间时,将发送一封电子邮件,警告数据库中没有任何更改。 我想要的是,当你运行一个发送邮件的函数时,停止另一个我也必须每小时运行的函数 有可能这样做吗 多谢各位如何从另一个函数停止java函数?,java,Java,我在任何时候都执行一项功能。此函数用于检查数据库的上次更新。当数据库的上次更新大于指定时间时,将发送一封电子邮件,警告数据库中没有任何更改。 我想要的是,当你运行一个发送邮件的函数时,停止另一个我也必须每小时运行的函数 有可能这样做吗 多谢各位 public void check() { try { String sql="SELECT TIME_TO_SEC(TIMEDIFF((select curtime()), (SELECT MAX(hour_saveDB) FR
public void check() {
try {
String sql="SELECT TIME_TO_SEC(TIMEDIFF((select curtime()), (SELECT MAX(hour_saveDB) FROM saves where date_saveDB like curdate())))";
pst=(PreparedStatement) conexao.prepareStatement(sql);
rs=pst.executeQuery();
while( rs.next() ) {
int val = ((Number) rs.getObject(1)).intValue();
if( check != val ) {
check=val;
if( val > 7200 ) {
SendEmail();
}
}
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
在两个函数之间保留一个共享变量 然后你就可以把它当作
while(rs.next() && isEnabled){
}
只需保留计时器的引用并使用timer.cancel();timer.purge();停止计时器。如果这两个函数是链接的,并且应该每小时都触发一次,则将它们分组到一个SchedRules函数中,该函数调用返回布尔值的check()方法
function doTheJobEachHour {
if ( !check() ) {
doSomethingElse()
}
}
我假设如果该函数每小时调用一次,那么它一定是计时器线程。在该线程上调用interupt。如果val是一个全局变量,则可以在另一个方法中读取相同的值。谢谢大家的回答。确切地说,该函数有一个计时器。那我怎么才能停止这个计时器呢?谢谢你的回复。那我怎么才能停止另一个函数呢?