java - 线程局部对象池

标签 java concurrency

阅读 Goetz 的“Java Concurrency in Practice”一书,他反对使用对象池(第 11.4.7 节)——主要论点:

1) Java 中的分配比 C 的 malloc 更快 2) 从池中请求对象的线程需要昂贵的同步

我的问题与其说是分配速度慢,不如说是周期性垃圾收集在响应时间中引入异常值,可以通过减少对象池来消除这些异常值。

在使用这种方法时是否有任何我没有发现的问题?本质上,我正在跨线程划分一个对象池...

最佳答案

如果它的线程是本地的那么你可以忘记这个:

2) threads requesting objects from a pool require costly synchronization

作为本地线程,您无需担心从池本身检索的同步问题。

关于java - 线程局部对象池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763353/

相关文章:

java - Spring +springmvc+mybatis :Injection of autowired dependencies failed

java - 除以零而不出现 ArithmeticException

concurrency - 协程:List 中的延迟操作按顺序运行。

java - JavaFX 属性对象对于多个异步写入来说是线程安全的吗?

java - 如何确保所有生成的线程都已完成以便处理可以继续?

java - Java Web 应用程序中的并发

Java:如何调用主类中的方法,该方法位于扩展抽象类的另一个类中

java - 如何强制终止数据源并重新加载连接池?

java - 简单加密

c# - 添加项目时在 ConcurrentDictionary<TKey, TValue> 上调用 ToList()