我已经在我的 Java 应用程序中实现了订阅。当添加新订阅者时,应用程序创建新任务(实现Runnable
在单独线程中运行的类)并将其添加到ExecutorService
类似:
public void Subscribe()
{
es_.execute(new Subscriber(this, queueName, handler));
}
//...
private ExecutorService es_;
应用程序可以注册任意数量的订阅者。现在我想实现这样的东西,Unsubscribe
这样每个订阅者都有能力停止消息流。在这里,我需要一种方法来停止在ExecutorService
. 但我不知道我该怎么做。
TheExecutorService.shutdown()
及其变体不适合我:它们终止所有任务,我只想终止其中一个。我正在寻找解决方案。尽可能简单。谢谢。