【发布时间】:2012-09-14 12:31:38
【问题描述】:
标准 api 不包括 AtomicBitSet 实现。我可以在 AtomicIntegerArray 上滚动我自己的,但也不希望。
是否有人知道根据与 Apache 2 兼容的许可证发布的现有实现?我只需要基本操作来设置和检查位。
编辑:
代码对性能和内存都很关键,所以我想尽可能避免同步或每个标志的整数。
【问题讨论】:
-
我认为同步的 BitSet 不是一个选项?如果你想要并发,你可以有一个包含 16 个的数组,这将允许多达 16 个线程一次访问它们。
-
恕我直言,使用 AtomicIntegerArray 对于大多数(?)情况都是有意义的。为什么不使用它?
-
当然,它不会像
BitSet那样可扩展。您需要使用读/写锁或类似的锁。 -
代码有相当关键的性能和内存要求,所以我想尽可能避免使用锁或每个标志的整数。
标签: java concurrency