Che*_*eng 1 multithreading android
传统上,当我需要单个线程池时,我会使用
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(...
Run Code Online (Sandbox Code Playgroud)
但是,在查看Weather List Widget时,我意识到我们可以使用Handler+ HandlerThread来实现类似的目标
HandlerThread sWorkerThread = new HandlerThread("WeatherWidgetProvider-worker");
sWorkerThread.start();
Handler sWorkerQueue = new Handler(sWorkerThread.getLooper());
sWorkerQueue.post(...
Run Code Online (Sandbox Code Playgroud)
我想知道,我应该考虑什么,以便在他们中间做出正确的选择?
HandlerThread比ExecutorService简单.因此它将使用更少的资源并更快地工作.因此,如果您有很多小消息通过Handler处理它们.
但执行者不仅仅是一个阶级.执行者是一个标准.它是一个具有许多功能的框架,每个java程序员都可以理解用执行程序编写的代码.许多库可以与执行程序一起使用.它很灵活,您可以轻松更改执行程序类型或执行程序队列.因此,如果您有一个复杂的处理任务,并且您不知道它是如何使用执行程序完全实现的.
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |