동일한 InputStream을 동시에 처리하는 N 개의 소비자 스레드를 생성해야합니다. 예를 들어, 어떻게 든 변환하고, 체크섬 또는 디지털 서명 등을 계산합니다. 이러한 소비자는 서로 의존하지 않으며 모두 InputStream을 데이터 원본으로 허용하는 타사 라이브러리를 사용하고 있습니다.독립 소비자와 단일 InputStream의 동시 처리
그래서 내가 할 수있는 것입니다 - "부모"스트림의 데이터
- 읽기 덩어리가 모든 소비자까지
- 대기 전체 덩어리를 읽을의 InputStream의 일부 구현을 작성, 심플 보면서, 그것은 livelo 같은 다양한 문제를 상승 할 수
한 명의 친구가 구현하는 데 30 분의 시간이 걸렸으며 내 저녁을 보냈습니다.
Google 검색 결과가 너무 좋지 않아서 (google-fu는 충분하지 않습니까?) 성숙한 무언가를 사용하거나 전체 "원본"스트림을 임시 파일로 복사하지 마십시오. 이를 데이터 소스로 사용하십시오. 후자의 솔루션은 더 신뢰할만한 것으로 보이지만, 예를 들어 스트리밍 오디오를 처리 할 때 기가 바이트 파일을 생성 할 수도 있습니다.
파일에 데이터를 쓰고 N FileInputStream을 생성 할 수 있습니까? –
@JonLin 질문이 끝날 때까지 그는 말했다. –