public class OptimizeDaemon implements Runnable
{
/**
* Log object
*/
private static Log log = LogFactory.getLog(
OptimizeDaemon.class); /**
* 索引类.
*/
private Indexer indexer; /**
* @param pIndexer 索引类.
*/
public OptimizeDaemon(
final Indexer pIndexer)
{
this.indexer = pIndexer;
} /**
* 终止线程标志
*/
private boolean flag = true; /**
* 终止线程
*
*/
public void stop()
{
flag = false;
} /**
* 每个24小时优化一次索引
*/
public void run()
{
while (flag)
{
try
{
indexer.optimize();
Thread.sleep(5 * 60 * 1000);
} catch (Exception e)
{
if (log.isErrorEnabled())
{
log.error("优化索引时发生异常", e);
}
}
}
}
}调用这个类的stop()方法,怎么停止不了线程。
{
/**
* Log object
*/
private static Log log = LogFactory.getLog(
OptimizeDaemon.class); /**
* 索引类.
*/
private Indexer indexer; /**
* @param pIndexer 索引类.
*/
public OptimizeDaemon(
final Indexer pIndexer)
{
this.indexer = pIndexer;
} /**
* 终止线程标志
*/
private boolean flag = true; /**
* 终止线程
*
*/
public void stop()
{
flag = false;
} /**
* 每个24小时优化一次索引
*/
public void run()
{
while (flag)
{
try
{
indexer.optimize();
Thread.sleep(5 * 60 * 1000);
} catch (Exception e)
{
if (log.isErrorEnabled())
{
log.error("优化索引时发生异常", e);
}
}
}
}
}调用这个类的stop()方法,怎么停止不了线程。
解决方案 »
- 数组排序(含有字母)
- 对Collection的小疑问
- 菜鸟请教。。。
- 问一下有关LINUX下JAVA程序中文参数的问题:
- 我想请教大家一个在servlet中删除cookie的问题?
- len = (len == 1) ? (len++): (len--); 为什么len=5 出来后还是5,没变?括号没起作用吗?
- 请问INSTALLSHIELD DEVELOPER V8.0 的注册码
- 一个有关applet的问题??
- 一个简单的问题,关于double的
- 在ROSE2001里面如何将一个类转换成一个相应java源文件?
- 请教:匿名类!
- [求助]请问刷新JTree后怎样让先前已经展开的节点仍然是展开的????
是阻塞的,线程已经被阻塞了,while (flag) 在24小时内没有执行,怎么可以呢!
可以在线程中比较时间差来实现!