【发布时间】:2010-09-28 06:17:22
【问题描述】:
我有一个程序可以不断地轮询数据库中某个字段的值的变化。它在后台运行,当前使用 while(true) 和 sleep() 方法来设置间隔。我想知道这是否是一个好习惯?而且,有什么更有效的方法来实现这一点?该程序旨在始终运行。
因此,停止程序的唯一方法是在进程 ID 上发出终止命令。该程序可能处于 JDBC 调用的中间。我怎样才能更优雅地终止它?我知道最好的选择是通过使用将由线程定期检查的标志来设计某种退出策略。但是,我想不出改变这个标志值的方法/条件。有什么想法吗?
【问题讨论】:
标签: java multithreading while-loop