在调用Striped.lazyWeakReadWriteLock(int stripes)
时尝试确定条纹数量
Javadoc说:
@param stripes the minimum number of stripes (locks) required
为什么在Javadoc中说 minimum ?这使我相信条纹的数量只是初始容量,它会根据需要增加并缩小到构造时设置的最小数量。 但是看代码,条带的数量似乎是固定的。
我应该怎么做:Striped.lazyWeakReadWriteLock(maximum_number_of_stripes)
要么
Striped.lazyWeakReadWriteLock(10)
并期望它增长?
我已经写了单元测试,并确认它必须是
Striped.lazyWeakReadWriteLock(maximum_number_of_stripes)
所以问题更多是关于尝试解释javadoc的问题。为什么说最小?
答案 0 :(得分:0)
这是 minimum ,因为该实现分配的固定条带数量至少为该数量。
特别是,如果您看一下实现,则将其舍入为2的幂,以使其特别有效地计算给定哈希映射到哪个条带。