5

这更容易也更适合用于在另一个线程中运行东西,特别是这样程序会等待结果但不会锁定 ui。

可能有一种方法比这两种方法都好,但我不知道。

谢谢 :)

4

1 回答 1

13
  • Runnable表示要执行的代码。
  • Executor它的子类代表执行策略。

这意味着前者实际上被后者消耗。你的意思大概是:简单线程和执行器之间,哪个更合适?

这个问题的答案基本上是:视情况而定。

Executors 是复杂的工具,可让您选择可能正在运行的并发任务的数量,并调整执行上下文的不同方面。它们还提供了监控任务执行的工具,方法是返回一个令牌(称为 aFuture或有时称为 promise),让请求任务执行的代码查询该任务的完成情况。

线程不太复杂(或更准系统)是异步执行代码的解决方案。您仍然可以让他们Future手动返回 a,或者简单地检查线程是否仍在运行。

因此,根据您需要的复杂程度,您可能会选择其中一个:Executors 用于更简化的需求(要执行和监控的许多任务), Threads 用于一次性或更简单的情况。

于 2013-04-12T22:35:28.133 回答