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
[61586] Re:장비 프로그램 작성중 동기화 관련 질문..
땅주인 [heaven2] 1155 읽음    2010-06-17 13:38
어떤 상황인 지 글을 봐서 잘 파악은 안되는데요..
대략, 저의 경우

: Execute 함수 실행 하는 곳에서는 다른 쓰레드 함수의 멤버 함수나 멤버 변수를 참조
: : 읽어 오는 것도 안되는 것인가요 ?

이런 경우 여러 thread에서 참조할 변수가 있다면 대부분 글로벌 변수로 선언해서 사용하구요..
(대부분 이렇게 사용할 것으로 생각됩니다.)

스레드의 동기화는 TEvent같은 객체를 이용해서 동기화 시키고 있습니다.
가령, 소켓이나 시리얼 데이터 수신 스레드와 이를 처리하는 처리 로직간의 처리 속도의 갭이나
차이가 있을 때 중간에 버퍼를 두고 두 스레드 간에 동기는 TEvent로 주고 받는 식이지요.

그리고, 저의 경우
Thread에 많은 변수나 메소드를 두지 않고.. 대부분의 로직은 메인 폼에 두던지 하고..
스레드에서 폼의 함수를 호출하는 형식을 사용합니다. 단, 이 함수를 여러 스레드에서
호출한다면 동기화등에 신경을 써주어야 합니다.

이래저래 구성하기 나름인데.. 해결해야 할 상황이 어떤 상황인 지에 따라 적절하게
구성하면 되는데..정답은 없는 것이라.. 이래저래 해 보시면서 나름의 답을 찾으시는 게...

도움이 되었기를...

바보 님이 쓰신 글 :
: 프로그램 작성중 여러가지 문제가 발생.. 몇가지 질문.
:
: thread 클래스를 상속받아서 작업용 클래스를 만들고
:
: Execute 에서 쓰레드가 실행된다 는 것은 이해 했는데..
:
: 이런 쓰레드 4개 정도 만들어서 돌리고 있는데
:
: 디버깅 포인터를 걸면 컴파일러가 멈추는 현상이 있습니다.
:
: 아마  동기화 때문에 그런거 같은데
:
: 지금 동기화 처리 한것.
:
: 쓰레드에서 UI을 건들면 안된다 -> 메세지 로 처리해서 메인폼으로 메세지를 보내고 있습니다.
:
: 1)  쓰레드에서 다른 쓰레드의 멤버 변수를 알고 싶은 경우도 메세지로 처리해야 되냐요 ?
:
: 지금은 그냥 읽어 옴.
:
: 그런대 위의 작업용  클래스에  멤버 함수와 멤버 변수를  다른 폼이나 참조 실행하면
:
: 문제가 되는 같습니다 . 
:
: 클래스가 디버깅 포인트로 멈추면 다른 곳에서 그 쓰래드의 변수를 참조 하려할때.
:
: 같이 대기 하면서 문제가 되는 같은데 ?
:
: 궁금한것은..
:
: Execute 함수 실행 하는 곳에서는 다른 쓰레드 함수의 멤버 함수나 멤버 변수를 참조
:
: 읽어 오는 것도 안되는 것인가요 ?
:
: 또 Execute 에서 실행되지 않는  함수나 변수도 참조 하면 안되는 것인가요 ?
:
: 동기화라는 것이 변수를 변경할때 문제가 되는 것안가요 ?
:
: 지금 현상을 보면  쓰레드에서 동시 실행되는 로직만 넣어 두고
:
: 변수나 참고 해야 하는 값은 다른 곳에서 처리하고  쓰레드에 어떤 값을 전달 하려면 전부 메세지로 처리해야
:
: 한다는 결론  ?
:
: 쓰레드에 대해서 아는 것이 별로 없으니 ..이런 문제가 ...
:
: 혹시 참고 할만한 서적은 ?
:
: 혹시 아시분 ?

+ -

관련 글 리스트
61580 장비 프로그램 작성중 동기화 관련 질문.. 바보 998 2010/06/17
61596     Re:장비 프로그램 작성중 동기화 관련 질문.. 크레브 1125 2010/06/17
61600         Re:Re:장비 프로그램 작성중 동기화 관련 질문.. 바보 1014 2010/06/18
61603             Re:Re:Re:장비 프로그램 작성중 동기화 관련 질문.. 크레브 1048 2010/06/18
61608                 Re:Re:Re:Re:장비 프로그램 작성중 동기화 관련 질문.. 답변주신분들 전부 감사드립니다. 바보 1070 2010/06/18
61601             Re:Re:Re:장비 프로그램 작성중 동기화 관련 질문.. Lyn 1088 2010/06/18
61586     Re:장비 프로그램 작성중 동기화 관련 질문.. 땅주인 1155 2010/06/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.