2013-05-30 3 views
1

,페이저 클래스 계층화

페이저이 계층화 될 수있다 (즉, 트리 구조로 구성) 충돌을 줄이기 위해. 그렇지 않으면 과도한 동기화 경합 비용이 발생할 수있는 다수의 당사자를 가진 페이 서가 대신 하위 페이 셔 그룹이 공통 상위를 공유하도록 설정할 수 있습니다. 이는 작업 당 오버 헤드가 증가하더라도 처리량을 크게 높일 수 있습니다.

누구나이 내용을 분명히 할 수 있습니까? 조금 혼란 스러울 수 있습니다.

답변

2

균형 잡힌 나무는 재귀 적 분해 프로그램에서 잘 작동합니다. 한 가지 예가 Java7의 Fork/Join 프레임 워크입니다. 필자는이 프레임 워크를 사용하는 또 다른 방법으로 층계가 Phasers에 추가되었지만 엄청난 비용이 듭니다. 단계가 도착을 기다려야 할 때 프레임 워크는 다른 스레드를 만들어 그 자리를 차지합니다. 웨이터가 많으면 재앙이 될 수 있습니다. 2 년 전에 쓴 this 기사에서 예제 소프트웨어를 다운로드하면 작동하는 것을 볼 수 있습니다.