gpt4 book ai didi

java - 我的整个 Android 应用程序只有一个线程池

转载 作者:行者123 更新时间:2023-11-30 06:04:26 24 4
gpt4 key购买 nike

就像网络操作和位图操作图像加载和其他类型的工作一样,我可以为整个应用程序创建一个 TheadPoolExecuter 并在其上执行。

如果答案是否定的 -> 为什么?以及如何为每个操作创建线程池

或者如果是 -> 是否出现性能问题?

提前致谢。

最佳答案

两种方法都有优点和缺点。

如果是单线程池(我想是单例实现):
➕ 您有一个入口点来提交后台任务
➕ 轻松实现和控制生命周期
➖ 如果您有很多不同的快速任务和一些长时间运行的任务,则长时间运行的任务可能会将所有线程保留在有限的池中,而用户在 UI 中等待一些快速操作

不同的线程池(一个池用于一种类型的任务):
➕ 长时间运行任务的线程池可以积累任务,而快速任务可以在自己的线程池中独立执行
➕您了解应用程序中任务的一切 - 您可以使用线程工厂微调每种类型任务的池大小、设置线程优先级、初始堆栈大小等
➕ 如果你定义了线程组和线程名,它可以帮助你调试
➖ 有不同的线程池来硬控制它们的生命周期
➖ 这种实现不会给任务类的不良分离带来很多好处

无论如何,您需要一些妥协并评估优势

关于java - 我的整个 Android 应用程序只有一个线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com