Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为不同的组件使用共享线程池是一个好主意吗_Android_Multithreading - Fatal编程技术网

Android 为不同的组件使用共享线程池是一个好主意吗

Android 为不同的组件使用共享线程池是一个好主意吗,android,multithreading,Android,Multithreading,让我们了解一些背景信息,如果您正在使用与网络连接、数据库操作等相关的库,您将需要在另一个线程而不是主线程上运行它 参考毕加索: public Builder executor(ExecutorService executorService) 我们可以看到他们已经为我们公开了Executor服务 至于android开发者,doc说最好在线程池上运行任务 那么,这是我们避免创建这么多线程的最佳解决方案吗??我觉得很好。我认为是时候停止使用所有新线程了(newrunnable(){}) 使用执行者

让我们了解一些背景信息,如果您正在使用与网络连接、数据库操作等相关的库,您将需要在另一个线程而不是主线程上运行它

参考毕加索:

 public Builder executor(ExecutorService executorService)
我们可以看到他们已经为我们公开了Executor服务

至于android开发者,doc说最好在线程池上运行任务

那么,这是我们避免创建这么多线程的最佳解决方案吗??我觉得很好。我认为是时候停止使用所有新线程了(newrunnable(){})

使用执行者

(编辑)


我能提供的最好建议是,这取决于您需要控制正在执行的任务的粒度。想一想,某些组件是否会比其他组件生成更多的任务——哪些组件可能是贪婪的。贪婪的组件可能保证它们自己的线程[池]。对于ui任务,您已经有了AsyncTask线程池。

这篇文章很好,但我只想与expose a executor讨论共享线程池的不同组件,谢谢。还有一个问题,因为这确实是设计师的选择。您能分享更多详细信息吗??