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
[46011] Re:멀티쓰레드를 구현하려고 합니다.
WARSHIP [warship] 1911 읽음    2006-08-03 23:36
김길용 님이 쓰신 글 :
: 멀티쓰레드라는 개념을 첨알게된 초보입니다.
:
: c++ 빌더로 토익게임을 만들고 있는데..
:
: 20초동안 마우스로 a,b,c,d 버튼중 하나를 입력하지 않으면 틀린것로 처리할려고 합니다.
:
: 멀티스레드를 이용해야한다는 것까지 알게 되었는데...
:
: 어떻게 구현하는지를 모르겠습니다.
:
: 1. 스레드를 2개를 만드는데 한개는 20초시간이 흘러가는 프로세스바를 만들어보여줄것이고
: 또 한개는 버튼을 입력받는 스레드를 만들것입니다.
:
: 2. TThread, CreatThread, BeginThead, 머 이런것들이 나오던데... 참고할만한 예제 소스좀 소개해주시면
:
: 감사하겠습니다..
:
: 숙제는 아니고 개인적으로 공부하다가 막혀서 질문드립니다.

위의 목적대로 만드실려고 하신다면 스레드보다는 타이머가 낳을거 같습니다.
스레드를 이용해서 만드는것도 가능은 하지만 위에것처럼 간단한 기능을 위해
복잡한 스레드까지 이용하는것은 자원도 더 소모하고 머리도 더 써야하는
비효율적인 방법 같습니다.

우선 스레드를 이용하려면
1. a,b,c,d 버튼이 눌렸을때 그것을 저장할 플래그를 만든다. bool bA,bB,bC,bD;
2. bA=bB=bC=bD = false;
3. 쓰레드를 생성한다 ( 스레드는 20초동안 잠자고 있다가 끝날무렵에 bA,bB,bC,bD를 체그해서 처리한다. )
4. 쓰레드 작동중 버튼이 눌리면 bA,bB,bC,bD 등 눌린 버튼을 true로 변경
5. 쓰레드를 닫는다.

타이머를 이용한다면
1. a,b,c,d 버튼이 눌렸을때 그것을 저장할 플래그를 만든다. bool bA,bB,bC,bD;
2. bA=bB=bC=bD = false;
3. 타이머를 생성한다 ( 원샷 타이머로 20초후에 이벤트라던지,펑션콜을 하게 만든다 )
4. 버튼이 눌리면 bA,bB,bC,bD 등 눌린 버튼을 true로 변경
5. 타이머 이벤트가 도착하면 그때의 bA,bB,bC,bD를 체크해서 처리~

꼭 성공하시길 바랍니다 ^^

음 추가합니다. 프로그레스바를 제가 보질 못했군요.
스레드로 구현시 1초당 프로그레스바를 작동시키면 될것이고
타이머의 경우 1초에 한번씩 이벤트가 발생하게 해놓고 발생할때마다 초를 계산해서
20초가 되면 끝나게 하면 되겠네요.

그리고 스레드에 관한 예제는 팁&트릭 이나 강좌/문서 란에 예전에 어떤분이
올려주신 강좌가 있습니다. 검색해서 한번 읽어보시면 쉽게 스레드를
사용하실 수 있을 것입니다. 그럼 좋은하루 보내시길 바랍니다.

+ -

관련 글 리스트
46007 멀티쓰레드를 구현하려고 합니다. 김길용 1317 2006/08/03
46027     Re:멀티쓰레드를 구현하려고 합니다. 김시환 1487 2006/08/04
46044         Re:Re:멀티쓰레드를 구현하려고 합니다. 김길용 1255 2006/08/05
46011     Re:멀티쓰레드를 구현하려고 합니다. WARSHIP 1911 2006/08/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.