长原始还是原子长计数器?
2022-09-02 22:04:17
我需要具有以下要求/事实的计数器类型:long
- 递增计数器应尽可能少地花费时间。
- 计数器只能由一个线程写入。
- 从计数器读取将在另一个线程中完成。
- 计数器将定期递增(每秒最多几千次),但每五秒只读取一次。
- 精确的准确性不是必需的,只有对计数器尺寸的粗略想法就足够了。
- 计数器永远不会被清除,递减。
根据这些要求,您将如何选择实施计数器?作为一个简单的,作为一个或使用一个?为什么?long
volatile long
AtomicLong
目前我有一个,但想知道另一种方法是否会更好。我也通过做来增加我的长,而不是.这真的更有效率吗(正如我在其他地方被引导相信的那样),因为没有完成任何任务?volatile long
++counter
counter++