|
Thread Queue를 어떻게 하는건가요??
그냥 Thread에서 Queue를 관리하면 대는건가요??
김윤동.제라툴 님이 쓰신 글 :
: 이성제 님이 쓰신 글 :
: : 제라툴님께서 가르쳐 주셨는데요
: :
: : 처음 듣는 말이 있어서 다시 질문 합니다 ㅎ
: :
: : stream을 이용해서 전송할려고 하는데
: :
: : Socket에 전송하는 메소드중엔 Function을 대부분 가지고 있다고 하는데요;;
: :
: : 사용법이 어떻게 되는지 좀 가르쳐 주세요 ㅎ
: :
: : 그리고 무슨 큐를 이용 하라는데
: :
: : 큐가 쌓이는것을 막기위해 쓰래드를 사용 하라는데요
: :
: : 큐의 사용법도 좀 가르쳐 주세요 ㅎ
: :
: : stream 도 처음 접하는거고 '큐' 이건 아예 처음 듣는거거든요 ㅎ
: :
: : 대충의 사용법을 좀 가르쳐 주세요 ㅎ
: :
: : 그럼 수고 하세요~
:
: 소켓 컴퍼넌트 .. 간단한 예로
:
: TClientSocket 의 경우는
:
: Socket Property 즉 TClientWinSocket 클래스에 SendStream 이라는 Functions을 가지고 있습니다.
:
: 이런식으로 Stream 관련 함수들을 가지고 있죠
:
: 전송된 영상을 받으실때는 영상이라는것 자체의 크기가 크기 때문에
:
: 네트웍에서 한번에 Buffer로 받을 수 있는 양이 한정되어 있죠 ..
:
: 즉 네트웍 Queue에 사이즈 만큼으로요 .. 그렇기 때문에 데이터를 전송 받자 마자 그 데이터에 대한 작업을 하게 되면
:
: 그 작업 시간동안 네트웍 Queue에 데이터가 계속 쌓여서 데이터 가 Lose 되는 경우가 발생할 수있기 때문에.
:
: 네트웍 Queue에 쌓여 있는 데이트를 빼내 주는 작업을 하는 Thread를 만들어서 .. Data를 우리 프로그램 상의 Buffer로
:
: 옮겨 작업하는것이 좀더 효율 적입니다.
:
: 데이터 전송후 해 주어야 하는 작업이 많을 경우 즉 .. 데이트를 받아서 헤더 분석하고 영상 처리해 주고
:
: 만약 압축 영상이다 보면 디코딩 작업도 해주어야하는데 이런 작업을 하는 동안에 날아 들어오는
:
: 데이터들을 안정적으로 저장하기 위해서 .. Thread Queue를 사용하는 것이 효율 적이라는 얘기 입니다.
:
: 조금 도움이 되셨으면 합니다.
:
: From Zeratul
|