两种不同的执行器

时间:2019-06-27 09:36:58

标签: java android scheduledexecutorservice

我正在使用HttpURLConnection从站点获取信息。我正在使用异步任务和Executors.newScheduledThreadPool。我有两个不同的执行者。拥有不同的线程池是否正确?我之所以问是因为我看到我的第二位执行者通常会同时执行所有计划的可运行对象。我还使用了shutdownNow。

executor = Executors.newScheduledThreadPool(2);
executorHandle = executor.schedule(refresh,1,TimeUnit.SECONDS);

executor2 = Executors.newScheduledThreadPool(2);
executorHandle2 = executor2.schedule(refresh2,1,TimeUnit.SECONDS);
if(executor2!=null)
   executor2.shutdownNow();

我可以同时运行两个执行器吗?

1 个答案:

答案 0 :(得分:0)

是的。多个执行程序服务可以同时运行。如果有足够的可用资源。

执行程序服务执行处理作业的核心任务。拥有两个执行器服务意味着我们可以一次处理多套作业。

仅当我们认为每个人都有自己的负担来共享时,我们才应该拥有多个执行器服务。按照上面的示例,有4个线程可以完成这项工作。这也可以通过让一个执行程序服务生成4个线程来实现。