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
[40635] [질문] 쓰레드 질문 2 입니다.
초보빌더 [] 859 읽음    2005-06-20 10:24
smleelms님 예제 소스 잘 보았습니다. ^^
이번 질문은.. 쓰레드가 자기 자신을 멈추고 다른 쓰레드를 실행 시킬 수 있는지입니다.
smleelms님의 예제는 메인폼에서 버튼의 입력에 따라 쓰레드가 왔다갔다하잖아요.
제가 하고 싶은건..
Th1이 돌기 시작하면 주기적으로 DB를 살펴가면서 업무를 처리하다가 DB에 값이 변하면
Th1을 Suspend시키고 Th2를 Resume 시키고요.
Th2가 Resume 되면 Th1과 마찬가지로 DB를  살펴가면서 업무를 처리하다가 DB에 값이 변하면
Th2를 Suspend시키고 Th2를 Resume시킵니다.


MainForm Active시
if(DBLoad())
{
   frmMain->fEnableService(true);
}
{
  frmMain->fEnableService(false);
}
으로 쓰레드가 돌기 시작하고
그후 쓰레드에서 쓰레드를 제어? 해야하는데..

그래서 Main폼에 fEnableService(bool) 함수를 만들어서
각 쓰레드에
if(DBLoad())
{
   frmMain->fEnableService(true);
}
{
  frmMain->fEnableService(false);
}
를 넣었습니다.
fEnableService는
true이면 Th1=Suspend; Th2=Resume;
시키고
false이면 Th1=Resume; Th2=Suspend; 시키는 함수입니다.
프로그램을 실행시키면... (예제로 만든건 아니고요 제가 작성하던 프로그램에..)
프로그램이 실행되다가 DB값에 변경이 일어나면.
쓰레드 억세스가 오류가 났다고 합니다.
이런 저런 방법으로 코딩해보는데.. 잘 안되네요.
>,.< 답변 부탁드릴께요 ..

+ -

관련 글 리스트
40635 [질문] 쓰레드 질문 2 입니다. 초보빌더 859 2005/06/20
40640     Re:[질문] 쓰레드 질문 2 입니다. smleelms 1000 2005/06/20
40642         답변 감사합니다. 초보빌더 821 2005/06/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.