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
[65476] Re:Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요?
참치잉... [kidary97] 1431 읽음    2011-11-08 19:02
클라이언트에서 장비로 순차적으로 패킷을 보내느것이 아닌 거의 동시에 2번 보낸다는 거죠?
그러면 중복콜이란 얘긴데요...

하드웨어쪽에서 중복콜을 허용하지 않도록 설계되었다면.. 한개만 처리 될꺼고요..
그렇지 않다면... 문제가 생길수도 있겠네요..
예를 들면 한개의 패킷이 날라가서 하드웨어에 먼가 짓거리(?)를 하고 있는데.. 다른 패킷이 들어와 딴 작업을 하게 되면.. 그리고 그게 우연찮게 같은 메모리상에서 먼가 작업을 한다면... 장비가 뻗어버리겠죠...;;;


요즘 VC++ Thread로 이것저것 구현하고 있긴한데요...
Event나 CriticalSection를 사용하면 되지 않을까 하네요.. 아마 빌더에서도 이에 대응되는게 있을거 같습니다.


Event는 이벤트를 발생시켜 Thread를 수행시키는 방법인데, 한개의 Thread가 수행되고, 그 다음에 다른 Thread가 수행되어야 한다면.. 처음 Thread에서 다음 Thread를 실행시키기 위해 이벤트를 날리는 방식입니다.

CritcalSection은 반복적으로 동작하는 2개 이상의 Thread가 하나의 리소스를 공유할때 동시에 리소스에 접근하지 못하도록 하기 위한 방식입니다. 한개의 작업이 수행될때 다른 작업 수행못하도록 막습니다.


만약 빌더 쓰신다면.. 걍 Timer 2개로 CriticalSection 기능 비스무리하게 구현하시길 바랍니다..;;;
API나 MFC로 하신다면... 대략 난감.. 고려해야 할게 넘 많아여...ㅠ.ㅠ




용맨소녀 님이 쓰신 글 :
: 하나의 클라이언트에서 쓰레드로 동시간에 2개의 패킷을 송신한다면 문제가 되는지요?
:
: 보낼 데이터는 공용이 아니라 독립된 개체입니다.
:
: // 쓰레드1
: Context->IOHandler->Write(a);
:
: // 쓰레드2
: Context->IOhandler->Write(b);
:
: 크리티컬섹션을 씌워야 할까요?

+ -

관련 글 리스트
65451 Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요? 용맨소녀 1267 2011/11/03
65476     Re:Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요? 참치잉... 1431 2011/11/08
65474     Re:Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요? 박영목.월천 1267 2011/11/08
65453     Re:Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요? Lyn 1266 2011/11/03
65452     Re:Indy10에서 쓰레드를 통해 동시에 2개의 데이타를 전송하면 문제가 생기는지요? civilian 1321 2011/11/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.