首先,我无法确定标题应该是什么,因此,如果标题不够具体,问题本身就是。
我们有一个使用前台服务并永远保持生命的应用程序,在此服务中,有频繁的数据库访问作业,网络访问作业等需要在后台线程上运行。一项工作本身消耗少量时间,但是这些工作本身很频繁。显然,它们需要在工作线程上运行,所以我在这里问我们应该遵循哪种设计。
HandlerThread是一种结构,它创建单个线程并使用队列执行任务,但始终循环并等待耗电的消息,同时ThreadPoolExecutor为每个作业创建多个线程并在作业完成时删除线程,但是由于线程过多,可能是泄漏,甚至是内存不足。作业计数可以是5,也可以是20,这取决于用户以某种方式执行的操作。并且,在2个作业之间,可能有5秒的间隔或一天的间隔,这完全取决于用户。但是,请记住,该应用程序将永远保持活动状态,并等待这些作业执行。
那么,对于这种特定情况,哪个更好使用?线程池执行程序还是处理程序线程?任何建议表示赞赏,谢谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。