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
方法的後臺線程調用..是否是正確的地方放在那裏?