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
[55134] Re:두 함수를 동시에 실행 하고 싶습니다.
크레브 [kkol] 1565 읽음    2008-11-08 01:07
어떤 용도인지는 모르겠으나
일반적으로 두개의 작업을 동시에 하는것을 멀티쓰레드 프로그래밍이라고합니다.
쓰레드를 사용하셔야 합니다.
C++빌더에서는 쓰레드API를 구현한 TThread 클래스를 지원하고 있습니다.
또한 두가지 작업을 확실히 번갈아가며 하기 위해서는
쓰레드 동기화 객체를 사용하셔야 합니다. TCriticalSection 정도 사용하시면 되겠습니다.
자세한 내용은 도움말이나 다른 샘플 참고하시기 바랍니다.

근처에 굴러다니는 API 관련 두꺼운 책이 있다면
멀티쓰레드 관련 섹션을 공부하시는 것도 좋을 듯 합니다.

Application->ProcessMessages(); 를 이용해서 구현하려 하는것은
정식 방법이 아닌 약간의 뽀록이라 할 수 있으며
제대로 사용하지 않을 경우
님이 경험한 것처럼 의도하지 않은 문제가 발생할 가능성이 높습니다.
저같은 경우에는 개발 작업에 아예 이런 방식을 사용하지 않습니다.



왕초보 님이 쓰신 글 :
: 안녕하세요.
:
: 다름이 아니로 동시에 두 함수를 실행하고 싶은데 그게 잘 안되서 질문 올립니다.
:
: 물론 아에 동시에 실행이 될 순 없다고 알고 있습니다.
:
: 한줄 한줄 함수를 건너 뛰면서 실행이 가능 한지요.
:
: 가령 제가 버튼 두개를 만들고  두 개의 버튼 OnClick 이벤트 안에
:
: for(int i=0;i<100000000;i++)
: {
:     Application->ProcessMessages();
: }
:
: 라고 코딩 하였습니다.
:
: 버튼 1을 누르고 버튼 2를 바로 눌러보니
:
: 버튼 1은 for문을 실행하다 잠시 중단 하고 버튼 2의 for문을 다 돌고 나서야 나머지 버튼 1의 for문을 돌더군요.
:
: 전 사실  Application->ProcessMessages();를 이용하면 버튼의 for문이 번갈아 가면서 한번씩 실행되는 줄 알고 있었습니다.
:
: 근데 그게 안되서 하고자 하는게 안되네요.
:
: 고수님들 무슨 방법이 없을까요?
:
: 답변 부탁 드립니다.

+ -

관련 글 리스트
55132 두 함수를 동시에 실행 하고 싶습니다. 왕초보 1212 2008/11/07
55160     Re:두 함수를 동시에 실행 하고 싶습니다. 씨빌더 1409 2008/11/11
55134     Re:두 함수를 동시에 실행 하고 싶습니다. 크레브 1565 2008/11/08
55135         Re:Re:두 함수를 동시에 실행 하고 싶습니다. 왕초보 1484 2008/11/08
55136             Re:Re:Re:두 함수를 동시에 실행 하고 싶습니다. 크레브 1709 2008/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.