85.4. 대기 전략


대기 전략은 현재 다음 교환이 게시되기를 기다리는 소비자 스레드에서 수행하는 대기 유형에 영향을 미칩니다. 다음 전략을 선택할 수 있습니다.

이름설명권장 사항

차단

문제 발생 시 대기 중인 소비자에 대해 잠금 및 조건 변수를 사용하는 차단 전략입니다.

이 전략은 처리량과 대기 시간이 짧은 경우 CPU 리소스만큼 중요하지 않을 때 사용할 수 있습니다.

잠자기

소비자는 처음에 회전하고, Thread.yield()를 사용하고, 결국 OS와 JVM의 최소 수를 사용하면 소비자가 장벽을 기다리는 동안 허용할 수 있습니다.

이 전략은 성능과 CPU 리소스 간에 적절히 손상됩니다. 대기 시간 급증은 유휴 기간 후에 발생할 수 있습니다.

BusySpin

문제 발생 시 대기 중인 소비자를 위해 사용량이 많은 스핀 루프를 사용하는 busy Spin 전략입니다.

이 전략은 CPU 리소스를 사용하여 대기 시간 지터를 도입할 수 있는 syscall을 방지합니다. 스레드를 특정 CPU 코어에 바인딩할 수 있는 경우 사용하는 것이 가장 좋습니다.

yielding

처음 회전한 후 장벽을 기다리는 소비자를 위해 Thread.yield()를 사용하는 전략을 생성합니다.

이 전략은 대기 시간이 크게 급증하지 않고 성능과 CPU 리소스 간에 적절합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.