Java:重新设计开源库的并发性

标签 java concurrency transactional-memory

作为 JVM STM 框架分析的一部分,我正在考虑重新设计开源库的锁定机制以改用 STM。 然后我会运行一些测试来比较性能、编码的难易程度等。

显然,性能测试必须支持 STM 的乐观锁定,但稍后可以计算出其语义。

但是,目前我只对候选开源库感兴趣。我想到的一个是 EhCache,因为它具有内部锁定措施。

还有什么可能是合适的候选人?

最佳答案

我认为STM

  • 但是生成了更优雅的代码
  • 比合理使用锁要慢很多。它可能比编写没有锁的单线程代码慢得多。

注意:STM 重新锁定可能会陷入死锁之类的情况,即它永远无法获得所需的所有锁。

您可能会发现 STM 太不成熟,无法提供性能优势。

关于Java:重新设计开源库的并发性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790413/

相关文章:

java - Jsp 自定义标签以错误的顺序替换为 html 内容

spring - J2SE中 "shutdown" Spring 上下文的正确方法

java - MapView 空指针异常

Java 8 并行运行多个方法

concurrency - 为并发编程语言选择一致性模型

haskell - 软件事务内存 - 可组合性示例

java - 如何在 JSON 对象中获取 JSON 数组?

c# - 控制任务的实际并发性

Java ReentrantReadWriteLocks - 在读锁中如何安全地获取写锁?

c++ - __transaction_atomic 未启用事务内存支持