C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[49601] TQueue 사용시 질문입니다.
오전&오후 [kkhhyy11] 1360 읽음    2007-06-08 16:03
SMS발송모듈을 개발중인데요
현재 서버에서 발송결과에 대한 Report를 받는데 이게 무작위로 들어와서
받은데이타를 Queue에 넣고 thread에서 queue에서 데이타를 가져와서 처리하고 있는데요
대충구조는

TCriticalSection *lock = new TCriticalSection;

데이타를 받을때
lock->Enter();
que->Push(data);
lock->Leave();

쓰레드에서 데이타 처리시
if(que->Count > 0){
     char* ptr;
    lock->Enter();
    ptr = (char *)que->Pop();
    lock->Leave();
    parse(ptr); //구문분석
}

이렇게 처리하는데요
문제는 데이타를 받구 큐에 데이타는 정상으로 들어가는데
이상하게도 큐에서 Pop()을할때 정상적으로 데이타가 나오다가 가끔가다가 쓰레기 데이타가 한두개 나오네요
TQueue가 쓰레드 안전하기 않은건가요? 지금 이거로 이틀째 골치가 아프네요
고수님들 도움좀 주세요 ㅜㅜ

+ -

관련 글 리스트
49601 TQueue 사용시 질문입니다. 오전&오후 1360 2007/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.