atomic-long

    3

    1답변

    는 I는 다음과 맵이 - ConcurrentHashMap<Long, AtomicLong> histogram = new ConcurrentHashMap<Long, AtomicLong>(); 맵이 키 값 쌍을 많이 포함한다. 값으로 AtomicLong을 넣는 것은 필자가 그 맵에 넣은 이유입니다. 이것이 내가 해결할 수있는 방법을 잘 모르겠습니다 bucke

    2

    1답변

    LongAdder의 작동 방식에 대한 질문이 아닙니다. 알아낼 수없는 흥미로운 구현 세부 사항입니다. 여기 이 Striped64에서 코드입니다 (나는 일부를 잘라 질문에 대한 관련 부품 떠 났어요) : 코드에서 많은 것들이이를 제외하고, 나에게 분명 final void longAccumulate(long x, LongBinaryOperator fn,

    1

    1답변

    하나의 AtomicLong 변수에서 다중 스레드, 모든 스레드 공유 및 프로세스를 실행하는 프로그램이 있습니다. 그들 각각은 우선 getAndAdd() 메서드를 호출하여 값을 검색하고 더 처리합니다. 동시에 실행되는 모든 스레드가있는 경우 위의 메서드를 호출하면 다른 스레드가 값을 얻기 위해 한 스레드를 대기하게됩니까?

    0

    1답변

    단순한 시나리오는 LongAdders 배열이 있고 주어진 인덱스에서 변수를 증가시키기 위해 여러 스레드가이 배열에 액세스하고 있다는 것입니다. 추가 잠금 메커니즘없이 arraycopy해도 안전한가요? LongAdder의 모든 중요한 필드가 휘발성이며 설명 increment()로 인해 원자가되어야하므로이 항목을 조사해 보았습니다. (그 부분 상태를 유지하지