在多线程应用程序中,执行程序优于线程的优点是什么

时间:2009-12-08 01:51:49

标签: executorservice

我看过几条注释,说Executors比Thread更好,但是如果你有很多Threads通过有界缓冲区进行通信(如在Flow-Based Programming中),为什么你必须使用Executors呢? (使用newCachedThreadPool(?))。另外,我使用像isAlive(),interrupt()这样的方法 - 如何获取Thread句柄?

有没有人有我可以抄袭的示例代码? ; - )

1 个答案:

答案 0 :(得分:1)

执行程序基本上是对线程的抽象。它们使您可以在Runnable / Callable实例中隔离可能的并行逻辑,同时使您免于手动创建和启动线程或管理池的职责。您仍然需要将依赖项作为应用程序逻辑的一部分来处理。

如果您希望与应用程序逻辑的Threads进行交互/熟悉,则可以跳过使用Executors。关于获取线程,你总是可以执行Thread.currentThread()来获取任何执行上下文中的当前线程。