>  기사  >  ConcurrentHashMap에서 이전 값과 새 값을 가져오는 함수 방법

ConcurrentHashMap에서 이전 값과 새 값을 가져오는 함수 방법

王林
王林앞으로
2024-02-08 22:40:37871검색

PHP 편집자 Youzi가 ConcurrentHashMap에서 이전 값과 새 값을 얻는 함수 방법을 소개합니다. ConcurrentHashMap은 Java 동시 프로그래밍에서 일반적으로 사용되는 스레드로부터 안전한 해시 테이블 구현입니다. 이는 해시 테이블에서 키-값 쌍을 작동하기 위한 몇 가지 편리한 함수 메서드를 제공합니다. 이전 값과 새 값을 얻는 함수 메소드가 포함되어 있으며, 이러한 메소드를 통해 해시 테이블의 키에 해당하는 값을 연산하고 업데이트할 수 있습니다. 다음으로 이들 함수 메소드의 사용법과 주의사항을 자세히 소개하겠습니다.

질문 내용

Java ConcurrentHashmap(스칼라 코드)에서 이전 값과 새 값을 가져와야 합니다. 스레드로부터 안전하게 유지하기 위해 새 값을 반환하는 compute 블록을 사용합니다. 초기 null이 있는 var를 사용하지 않고 새 값과 이전 값을 모두 얻을 수 있습니까? 내 현재 솔루션은 다음과 같습니다.

map: ConcurrentHashMap[String, Object] = new ConcurrentHashMap

  def foo = {
    var previousValue: Object = null

    val newValue = map.compute("key", (_, value) => {
      previousValue = Option(value).getOrElse(initialValue)
      setNewValue(previousValue)
     }
    )

    (previousValue, newValue)
  }

Solution

아니요. ConcurrentHashMap의 현재 버전입니다.

위 내용은 ConcurrentHashMap에서 이전 값과 새 값을 가져오는 함수 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제