Piped 스트림의 사용 사례는 무엇입니까? 왜 데이터를 버퍼로 읽어 들이지 않고 그냥 써 넣을까요?PipedInputStream 및 PipedOutputStream의 사용 사례
답변
장점 중 하나는 그들이에서 스트림 기능을 제공하는 우리의 새로운 전문 스트림을 구축 할 필요가 없습니다.
예 : 우리는 우리의 응용 프로그램에 대한 간단한 로깅 시설을 만들기 위해 파이프를 사용할 수 있습니다. 우리는 인쇄물 인쇄기를 통해 로깅 시설에 메시지를 보낼 수 있으며 최종 목적지로 메시지를 보내기 전에 처리 또는 버퍼링이 필요합니다.
자세한 내용은 참조 : 자바 IO에서 http://docstore.mik.ua/orelly/java/exp/ch08_01.htm
일반적으로 두 개의 서로 다른 스레드가 동시에 읽고 쓰는 데 사용됩니다.
이
(그들은 디자인은 매우 나쁘다. 당신은 파이프를 방해하지 않고 한 쪽 끝에서 스레드를 전환하고 해당 스레드 종료를 가질 수 없습니다.) 파이프 스트림을 사용파이프가 통신하기 위해 동일한 JVM에서 실행되는 두 개의 스레드 기능을 제공합니다. 그러한 파이프는 데이터의 공통 소스 또는 대상입니다.
장기 실행 스레드가 두 개인 경우 하나는 데이터를 생성하도록 설정되고 다른 하나는 데이터를 소비하는 경우에 유용합니다.
다른 답변에서 말한 것처럼, 스레드간에 사용하도록 설계되었습니다. 실제로는 피하는 것이 가장 좋습니다. 13 년 만에 한 번 사용해 본 적이 있었으면 좋았을 텐데.
BlockingQueue 또는 유사한 컬렉션이 스레드 안전하고 강력하며 확장 성이 뛰어납니다.
가능한 빨리 시도해 보겠습니다. 감사합니다. –
- 1. DB 디자인의 사용 사례
- 2. REST의 사용 사례
- 3. Search Lucene - 사용 사례
- 4. 프로젝트에서 Clojure 사용 사례
- 5. 장고 및 파일 사용 권한 : 모범 사례?
- 6. CSS 전환 및 CSS 애니메이션 사용 사례
- 7. PipedInputStream - "java.io.IOException : Pipe broken"을 피하는 방법
- 8. SVN : 사용 사례 문의
- 9. 유연한 속성의 사용 사례
- 10. 스칼라에서 스트림의 사용 사례
- 11. 소프트웨어에서 캡슐화 사용 사례
- 12. 사양 : CRUD 사용 사례
- 13. 포인트 - 사용 사례
- 14. DropBoxManager 사용 사례?
- 15. 사용 사례 다이어그램
- 16. BufferManager의 실제 사용 사례
- 17. 재시도 기능 사용 사례?
- 18. FileBackedOutputStream 사용 사례 (구아바)
- 19. CakePHP ACL 사용 사례
- 20. 일반적인 erlang 사용 사례
- 21. 캐스팅 오퍼레이터의 실제 사용 사례
- 22. 포럼 시스템의 사용 사례 수
- 23. Future.cancel (false)의 사용 사례?
- 24. DI의 사용 패턴/사용 사례 또는 사용 시작시기
- 25. XML 스키마 검증 사용 사례
- 26. doctest 고급 API 사용 사례
- 27. 사용 || in 사례 Rails 스위치
- 28. getProductAdditionalInformationBlock for magento의 사용 사례
- 29. 목록 배열 사용 - 모범 사례
- 30. Zend Framework의 모듈 사용 사례
자세히 설명해 주시겠습니까? 무엇이 잘못 되었습니까? –
그것은 단지 무시 무시한 해결책이었습니다. 13 년 전 이었기 때문에 세부 사항을 기억할 수는 없지만 일종의 대기열을 사용해야했습니다. 사실 나는 결국 내가 한 것 같아. – EJP
@downvoter 당신의 동기를주세요. 나는이 경험을했다. 나는 16 년 동안 자바를 사용했다. 그리고 나는 정확하게 초보자가 아니었다. 그것은 매우 고려 된 판단입니다. – EJP