- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经养成了包裹ExecutorService
的习惯位于 listeningDecorator
制作 ListeningExecutorService
。我知道这是 Guava 团队的建议,而且似乎总是值得的。
但是,我在这里遇到了一个问题。我的执行者基于标准 ThreadPoolExecutor
不变,并且我想将该线程池大小的控制权交给我的应用程序(特别是,将其公开给支持该应用程序的管理员)。带有未装饰的ThreadPoolExecutor
,执行此操作所需的方法已公开,但包装器向我隐藏了委托(delegate)。
那么,我需要做什么才能返回 ThreadPoolExecutor
公开的 api不放弃listeningDecorator
?
我的一些想法是:
ListeningDecorator
公开委托(delegate)Executor
的引用ThreadPoolExecutor
的引用,并且仅当 ExecutorService
时才将其包裹起来按照要求最佳答案
这里是 Guava 团队成员。
我会编写一个新的 ListeningThreadPoolExecutor
类,它基本上是包装 ThreadPoolExecutor
的 ListeningDecorator
变体,但我不会公开委托(delegate)本身,而是' d 从转发到委托(delegate) ThreadPoolExecutor
的 ListeningThreadPoolExecutor
公开 setCorePoolSize(int size)
方法。
这种方法暴露的内部细节比选项 1 还要少,但如果做不到这一点,我会退回到您所描述的选项 1。
关于java - 可调整大小的 ListeningExecutorService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233689/
我已经养成了包裹ExecutorService的习惯位于 listeningDecorator制作 ListeningExecutorService 。我知道这是 Guava 团队的建议,而且似乎总是
由于 Guava 的 ListeningExecutorService 是通过包装现有的 ExecutorService 来实现的,因此它通过拦截 execute() 方法来“装饰”任务。这意味着如果
在 Java 5 中,ExecutorService 接口(interface)声明方法: List> invokeAll(Collection> tasks) throws Interru
最终目标是为 ListenableFuture 添加额外的行为s 基于 Callable/Runnable 参数的类型。我想为每个 Future 添加额外的行为方法。 (示例用例可以在 Abstrac
我是一名优秀的程序员,十分优秀!