首先是一些背景:在Java中,条件等待的所有构造都允许虚假的唤醒,这可能会破坏公平性。我一直在编写一个ReadWrite锁的实现,它以严格的到达顺序为传入的线程提供服务。
现在,每次线程进入我编写的类时,我的算法都会创建一个新的java.util.concurrent.Condition。我想知道这种行为是否可取或是否存在这种模式的一些不良副作用,如大规模减速。
答案 0 :(得分:1)
好吧,就像所有性能问题一样,您通常应先尝试干净的方式,然后再进行测试。据说创建和GCing短暂的对象 - 甚至很多 - 是JVM特别擅长的。