배치 인터페이스 요청 결과의 주문 일관성을 보장하기 위해 완성 가능한 문제를 사용하는 방법은 무엇입니까?
배치 인터페이스 요청의 효율적으로 동시 처리 : 결과 순서가 일관되게 보장
다수의 타사 인터페이스에 대한 동시 호출은 대량의 데이터를 효율적으로 처리 할 때 효율성을 크게 향상시킬 수 있습니다. 그러나 간단한 다중 스레드 동시성으로 인해 반환 결과 순서가 일치하지 않으며 원래 데이터 목록에 해당하지 않을 수 있습니다. 이 기사에서는 Java의 CompletableFuture
문제를 사용 하여이 문제를 해결하는 방법을 소개하여 인터페이스 통화 결과가 원래 데이터 순서와 정확히 동일하도록합니다.
질문:
1000 개 이상의 타사 인터페이스를 동시에 호출하고 결과를 반환하기 위해 처리해야한다고 가정하십시오. 여러 스레드가 루프 for
단순을 사용하여 시작되면 인터페이스 호출 순서를 보장 할 수 없으며 최종 결과 순서는 원래 데이터 목록과 일치하지 않습니다. 일부 샘플 코드는 CompletableFuture.runAsync
사용하여 비동기 작업을 수행하지만 결과 수집과 순차적 유지를 무시합니다.
해결책:
결과 순서가 원래 데이터 목록과 일치하는지 확인하기 위해 Key는 CompletableFuture.supplyAsync
대신 CompletableFuture.runAsync
를 사용하는 것입니다. supplyAsync
메소드는 결과를 반환 할 수 있지만 runAsync
값을 반환하지 않습니다. supplyAsync
통해 각 인터페이스 호출의 결과를 반환 한 다음 스트리밍 처리를 통해 결과를 목록에 수집하여 결과 순서가 원래 데이터 목록과 일치하는지 확인하십시오.
개선 된 코드 :
public static void main (String [] args) { 목록<string> Datalist = New ArrayList (); // 원래 데이터 목록 // ... Datalist 초기화 ... executorService executorService = new ThreadPooleExecutor ( // 핵심 스레드 수 런타임 (). // 최대 스레드 수 Runtime.getRuntime (). availprocessors () * 2, // 스레드 생존 시간 60L, TimeUnit.seconds, 새로운 LinkedBlockingqueue (), 새로운 ThreadPoolexecutor.callerrunspolicy ()); 목록 <completablefuture> > futures = new ArrayList (); (문자열 데이터 : Datalist) { futures.add (wempletablefuture.supplyAsync (() -> { logger.info ( "비동기 스레드의 실행 시작->> 데이터); // 인터페이스를 호출하고 데이터를 전달합니다 // 인터페이스 반환 값에 따라 데이터 일치 여부를 판단하십시오. // 처리 된 결과 반환 프로세스 데이터 (데이터); // 데이터를 처리하고 결과를 반환}, executorService)); // 사용자 정의 스레드 풀 사용} // 완료된 모든 요청의 논리를 처리 한 후, 완료 가능한future.allof (futures.toArray (new waldableFuture [0]). thenRun (() -> { 목록<string> 결과 = futures.stream () .map (완성성 연관 :: 조인) .collect (collectors.tolist ()); logger.info ( "스레드 실행이 완료되었습니다 : {}", json.tojsonstring (results)); // SMS를 보내기 위해 호출}). } // 데이터 처리 방법, 개인 정적 문자열 프로세스 데이터 (String Data)를 수정합니다. // ... 인터페이스 호출 및 데이터 처리 로직 ... 반환 데이터 "처리 된 결과"; }</string></completablefuture></string>
futures
List에 각 CompletableFuture
의 결과를 저장하고 futures.stream().map(CompletableFuture::join).collect(Collectors.toList())
사용하여 결국 결과를 수집함으로써 결과 순서는 원래 데이터 목록과 일치하도록 보장합니다. CompletableFuture::join
메소드 블록이 CompletableFuture
결과가 얻어 질 때까지 블록 블록합니다. 이것은 원래 코드에서 일치하지 않는 결과의 문제를 효과적으로 해결합니다.
위 내용은 배치 인터페이스 요청 결과의 주문 일관성을 보장하기 위해 완성 가능한 문제를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Worldcoin (WLD)은 Cryptocurrency 시장에서 고유 한 생체 인정 및 개인 정보 보호 메커니즘으로 눈에 띄고 많은 투자자의 관심을 끌고 있습니다. WLD는 혁신적인 기술, 특히 OpenAi 인공 지능 기술과 함께 Altcoins에서 뛰어난 성과를 거두었습니다. 그러나 향후 몇 년 안에 디지털 자산은 어떻게 행동 할 것인가? WLD의 미래 가격을 함께 예측합시다. 2025 WLD 가격 예측은 2025 년 WLD에서 상당한 성장을 달성 할 것으로 예상됩니다. 시장 분석에 따르면 평균 WLD 가격은 최대 $ 1.36로 $ 1.31에 도달 할 수 있습니다. 그러나 곰 시장에서 가격은 약 $ 0.55로 떨어질 수 있습니다. 이러한 성장 기대는 주로 WorldCoin2에 기인합니다.

가상 통화 가격 상승의 요인은 다음과 같습니다. 1. 시장 수요 증가, 2. 공급 감소, 3. 긍정적 인 뉴스, 4. 낙관적 시장 감정, 5. 거시 경제 환경; 감소 요인에는 다음이 포함됩니다. 1. 시장 수요 감소, 2. 공급 증가, 3. 부정적인 뉴스의 파업, 4. 비관적 시장 감정, 5. 거시 경제 환경.

크로스 체인 거래를 지원하는 교환 : 1. Binance, 2. Uniswap, 3. Sushiswap, 4. Curve Finance, 5. Thorchain, 6. 1inch Exchange, 7. DLN 거래,이 플랫폼은 다양한 기술을 통해 다중 체인 자산 거래를 지원합니다.

Aavenomics는 AAVE 프로토콜 토큰을 수정하고 Aavedao의 쿼럼을 구현 한 Token Repos를 소개하는 제안입니다. AAVE 프로젝트 체인 (ACI)의 설립자 인 Marc Zeller는 X에서 이것을 발표하여 계약의 새로운 시대를 표시한다고 지적했습니다. AAVE 체인 이니셔티브 (ACI)의 설립자 인 Marc Zeller는 AAVENOMICS 제안서에 AAVE 프로토콜 토큰 수정 및 토큰 리포지션 도입이 포함되어 있다고 X에서 AAVEDAO에 대한 쿼럼을 달성했다고 발표했습니다. Zeller에 따르면, 이것은 계약의 새로운 시대를 나타냅니다. Aavedao 회원국은 수요일에 주당 100 인 제안을지지하기 위해 압도적으로 투표했습니다.

암호 화폐의 번화 한 세계에서는 새로운 기회가 항상 나타납니다. 현재 Kerneldao (Kernel) 에어 드롭 활동은 많은 관심을 끌고 많은 투자자들의 관심을 끌고 있습니다. 그렇다면이 프로젝트의 기원은 무엇입니까? BNB 보유자는 어떤 이점을 얻을 수 있습니까? 걱정하지 마십시오. 다음은 당신을 위해 하나씩 공개 할 것입니다.

비트 코인 구조 분석 차트를 그리는 단계에는 다음이 포함됩니다. 1. 도면의 목적과 청중 결정, 2. 올바른 도구 선택, 3. 프레임 워크 설계 및 핵심 구성 요소를 채우십시오. 4. 기존 템플릿을 참조하십시오. 완전한 단계는 차트가 정확하고 이해하기 쉽도록합니다.

cryptocurrency 교환 선택에 대한 제안 : 1. 유동성 요구 사항의 경우 우선 순위는 순서 깊이와 강한 변동성 저항으로 인해 Binance, Gate.io 또는 Okx입니다. 2. 규정 준수 및 보안, 코인베이스, 크라켄 및 쌍둥이 자리는 엄격한 규제 승인을 받았습니다. 3. Kucoin의 소프트 스테이 킹 및 Bybit의 파생 설계 혁신적인 기능은 고급 사용자에게 적합합니다.

휘발성 cryptocurrency 시장에서 투자자들은 대중적인 통화를 넘어서는 대안을 찾고 있습니다. Solana (Sol), Cardano (ADA), XRP 및 Dogecoin (DOGE)과 같은 잘 알려진 암호 화폐도 시장 감정, 규제 불확실성 및 확장 성과 같은 도전에 직면 해 있습니다. 그러나 새로운 신흥 프로젝트 인 Rexasfinance (RXS)가 떠오르고 있습니다. 유명 인사 효과 나 과대 광고에 의존하지는 않지만 RWA (Ralld Assets)와 블록 체인 기술을 결합하여 투자자에게 혁신적인 투자 방법을 제공하는 데 중점을 둡니다. 이 전략은 2025 년의 가장 성공적인 프로젝트 중 하나가되기를 희망합니다. Rexasfi
