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
[26752] Re:통신문제..2
남병철.레조 [lezo] 659 읽음    2003-08-16 14:50
서버가 멀티쓰레드로 들어오는값을 처리하여 DB그리드에 업데이트 한다고 볼때 실제 DB그리드에 접근하는
부분은 크리티컬섹션 등의 동기화 루틴으로 적당히 막아서 처리해야합니다.
VCL에서 대부분은 쓰레드 safe하지 않기때문이죠.
(safe한게 몇개 있었는데.. 게시판 검색이 안되는 관계로;; 모릅니다. ^>^; )

일단 예전 델파이 소스가 각종? 컴포넌트로 그런 동기화를 수행했는지 몰라도 궂이 그렇게 하지않아도
될듯합니다.(직접 구현하지 않았으니 확답하긴 좀그렇지만 ^^;)

그리고 모뎀의 경우에대해서는 잘모릅니다. ^^;
일단 네트웍에 연결되면 모뎀이 어떻게 처리되는지는 저도 해보지 않아서...
일반 랜환경이라고 보고 설명드리자면..

일단 인디 서버로 넘어오는 값을 받습니다.
크리티컬 섹션에 들어가서 DB그리드에 값을 업데이트합니다.
크리티컬 섹션을 빠져나옵니다.
처리는 종료되고 해당 쓰레드는 인디가 알아서 종료시킵니다.

참고로 제가 크리티컬 섹션은 조금 써본결과 SendMessage등을 크리티컬 섹션 내부에서 사용할경우
제대로 작동하지 않을경우가 있습니다.
SendMessage를 해서 해당 처리가 지연되면 크리티컬섹션 입구에서 대기하던 다른 쓰레드들이 갑자기
내부로 들어오더라구요... --;
크리티컬 섹션 내부에는 최대한 동기화 되는 부분의 데이타 접근만 하시고 다른 부하가되는 요소는
제외하는게 안전한것같습니다.
(그냥 함수 하나에 모든 기능넣고 해당 함수를 크리티컬섹션에 넣어버리면 제대로 처리되어도 상대적으로
느리겠고, 함수중에 시스템적 딜레이가 있는 코드가 들어가면 단정할순없지만 안전하지 못할것입니다.)



오늘 첨이네요.. 님이 쓰신 글 :
: 예전에 델파이3.0으로 이미 짜여진 프로그램인데..
: C++Builder를 이용해서 다시 짜볼려구요..
:
: 근데 제가 아직 C++Builder는 초보수준이고,,
: 델파이는 까막눈이라..
: 화면구성이나 DB를 이용한 데이터 입출력은 되는데.. 통신부분은..
: 좀 힘이드네요..--;
:
:
: 간단하게..
: 모뎀(?)을 통해서 데이터를 Sokect을 이용해서 받아들이고..
: 이 데이터를 처리하는 간단한 프로그램이거든요..
:
: 지금 가장 큰 문제는..
: 실시간으로 들어오는 데이터를 보여주는 부분이거든요..
: 실시간으로 들어오는 데이터를 StringGrid로 보여줄 생각을 하고 있는데..
: 문제는 그 데이터를 어떻게 엑세스하느냐죠..
:
: 이전에 델파이로 짠 프로그램을 보니깐..
: 그 부분에(실시간 데이터를 보여줄 부분)
: DBgrid(Datacontrol)하고,
: WSoket(FPiette)컴포넌트하고, Comm(Varian Freeware), JvBase(Miscellaneous Tools)컴포넌트하고,
: 그외 시계나 뭐 잡다한 컴포넌트가 있던데....
:
: 그중 이 세개(WSoket(FPiette)컴포넌트하고, Comm(Varian Freeware), JvBase(Miscellaneous Tools))의 컴포넌트가 각각 무슨 역활을 하는거죠??
:
: 그리고..
: 제가 C++Builder6 평가판을 쓰고 있는데..
: 여기서는 위의 세 컴포넌트와 동일명의 컴포넌트는 없던데..
: 동일한 기능을 하는 컴포넌트는 무엇이 있나요??
:
: 만약 있다면 어떻게 설정하고 사용해야하는 거죠..?
:
:
: 너무 막막한 질문인 것 같지만..
: 방학이라..
: 시골에 내려와서..
: 물어볼 사람도 없고..
: 책도 빈약해서..
:
: 그냥 게시판에 질문 올려봅니다..
: 아시는분 설명좀 해주세요..^^*
:
: 그리고..
: 이런 부분에 많은 도움이 될 만한 책이 있다면 추천해주시면 고맙겠습니다..
:
:
: 근데요..
: 혹시..
: 델파이로 짠 프로그램을 쉽게 C++Builder로 바꿀 순 없나요?? --;
:
:

+ -

관련 글 리스트
26702 통신문제..2 오늘 첨이네요.. 670 2003/08/12
26752     Re:통신문제..2 남병철.레조 659 2003/08/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.