这更容易也更适合用于在另一个线程中运行东西,特别是这样程序会等待结果但不会锁定 ui。
可能有一种方法比这两种方法都好,但我不知道。
谢谢 :)
这更容易也更适合用于在另一个线程中运行东西,特别是这样程序会等待结果但不会锁定 ui。
可能有一种方法比这两种方法都好,但我不知道。
谢谢 :)
Runnable
表示要执行的代码。Executor
它的子类代表执行策略。这意味着前者实际上被后者消耗。你的意思大概是:简单线程和执行器之间,哪个更合适?
这个问题的答案基本上是:视情况而定。
Executor
s 是复杂的工具,可让您选择可能正在运行的并发任务的数量,并调整执行上下文的不同方面。它们还提供了监控任务执行的工具,方法是返回一个令牌(称为 aFuture
或有时称为 promise),让请求任务执行的代码查询该任务的完成情况。
线程不太复杂(或更准系统)是异步执行代码的解决方案。您仍然可以让他们Future
手动返回 a,或者简单地检查线程是否仍在运行。
因此,根据您需要的复杂程度,您可能会选择其中一个:Executor
s 用于更简化的需求(要执行和监控的许多任务), Threads 用于一次性或更简单的情况。