0
下面启动后台线程是我的界面 -如何在应用程序启动时
public interface IClient {
public String read(ClientInput input);
}
这是我对接口的实现 -
public class TempClient implements IClient {
@Override
public String read(ClientInput input) {
}
}
下面是我的工厂代码 -
public class TempClientFactory {
public static IClient getInstance() {
// new TempScheduler().startScheduler();
return ClientHolder.INSTANCE;
}
private static class ClientHolder {
private static final TempClient INSTANCE = new TempClient();
}
}
现在我有一个工厂,它得到TempClient
这样的实例,所以客户将使用我们的工厂在拨打我们的代码时就像下面一样。
IClient client = TempClientFactory.getInstance();
client.read(input);
而下面是我的后台线程的代码 -
public class TempScheduler {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public void startScheduler() {
final ScheduledFuture<?> taskHandle = scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
try {
callServers();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}, 0, 500, TimeUnit.SECONDS);
}
}
//... some code
}
问题陈述: -
- 现在我已经将它取了幕后运行一个后台线程来自URL的数据解析并将其存储在变量中。现在我想要的是只要我们的客户开始通过使用工厂来使用我们的代码进行调用,我想要后台线程开始。所以我想我可以把我的工厂
getInstance
方法的后台线程调用..是否是正确的地方放在那里?