【发布时间】:2010-11-03 11:02:42
【问题描述】:
作为我当前应用程序的补充,我需要创建一个单独的线程,它会定期进行一些处理
我创建了一个新类来完成这一切,这个类将在我的应用程序启动时加载。
这是我目前所拥有的:
public class PeriodicChecker extends Thread
{
static
{
Thread t = new Thread(new PeriodicChecker());
while(true)
{
t.run();
try
{
Thread.sleep(5000l);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
/**
* Private constructor to prevent instantiation
*/
private PeriodicChecker()
{
}
@Override
public void run()
{
System.out.println("Thread is doing something");
// Actual business logic here, that is repeated
}
}
我想将构造函数设为私有,以防止其他人意外尝试实例化此类。我怎样才能做到这一点?
另外,我对这些要求的实现有什么不好的地方吗?我只创建了一个运行然后睡眠的线程,我错过了什么明显的东西吗?我以前没有使用过线程
【问题讨论】:
-
在静态块中启动线程? :)
标签: java multithreading thread-safety