Go의 상황별 데이터: Java ThreadLocal의 대안
Go 루틴으로 작업할 때 상황별 데이터에 액세스하는 기능 지표를 추적하거나 요청별 정보를 기반으로 작업을 수행하는 데 중요할 수 있습니다. Java에서 이를 달성하기 위해 ThreadLocal 클래스는 종종 현재 스레드와 관련된 데이터를 저장하는 데 사용됩니다.
Go가 Java의 ThreadLocal을 에뮬레이트할 수 있습니까?
Go가 유사한 기능을 제공합니까? Java의 ThreadLocal에 대한 메커니즘? 대답은 간단하지 않습니다.
대체 접근 방식
Go의 컨텍스트 패키지
Go의 컨텍스트 패키지는 요청을 전달하는 더 깔끔한 방법을 제공합니다. 함수와 고루틴 전반에 걸친 특정 정보. 쉽게 생성, 전파 및 취소할 수 있는 컨텍스트 개체를 제공합니다.
예
요청 내에서 데이터베이스 액세스 시간을 측정하려면 다음을 사용하여 컨텍스트를 생성할 수 있습니다. 마감일을 지정하고 이를 데이터베이스 액세스 함수에 인수로 전달합니다.
컨텍스트를 명시적으로 전달하면 데이터가 원하는 범위 내에서만 공유되며 수명을 더 잘 제어할 수 있습니다.
위 내용은 상황별 데이터를 위해 Java의 ThreadLocal을 효과적으로 대체할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!