메소드를 비 차단으로 유지하면서 메소드가 과도하게 호출되지 않도록 Java에서 가장 좋은 방법은 무엇입니까?Java : 과도하게 호출되는 메소드의 디자인 패턴
내 usecase는 오디오 데이터 용 사용자 지정 버퍼입니다. 데이터를 폴링 할 수있는 버퍼의 메소드는 비 블로킹 (non-blocking)이어야하며, 데이터가 사용 가능하지 않을 때 메소드가 null을 리턴하는 것이 허용 가능합니다. 메서드가 블로킹되는 것은 용납되지 않으므로 동기화하는 것을 원하지 않습니다. 메서드를 지나치게 호출하면 음질이 떨어집니다. 그렇다면 호출자가 스스로 행동하지 않고도 과부하로 메소드를 보호하려면 어떻게해야합니까?
충분히 문서화하지 않았습니까? 겉보기에 임의의 빈도로 제한하는 대신 몇 가지 지침을 설정하십시오. –
위키 피 디아에서 토큰 버킷 찾아보기 –
'일시 중지'설정과 함께 일종의 캐싱 메커니즘을 사용할 수 있습니다. EHCACHE,하지만 .. 지붕 아래 - 실제 코드와 비슷하게 작동합니다. –