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
[40622] [질문] 쓰레드 질문입니다.
초보빌더 [] 828 읽음    2005-06-17 16:46
제가 구현하려는 것은 원격으로 에이전트를 실행 / 중지 시키는 것입니다.
실행/중지에 대한 값은 DB에 들어있습니다.
이에 2개의 Thread를 만들었습니다.
1Thread : 실행시 돌아가는 업무 (종료전까지 돌아갑니다.)
2Thread : DB를 체크하여 프로그램이 실행 되어야할지 멈춰야할지를 확인합니다.

이렇게 두개의 쓰레드를 만들었고요
MainForm에서 new로 정의를 한 후
프로그램이 종료되는 시점에서 2Thread를 Resume(); 시켜줬습니다.
여기서 2Thread는 DB를 지속적으로 연결해서 확인하다
    try
    {
        while(!Terminated)
        {
            if(frmMain->funGetService())
            {
                frmMain->funEnableService(true);
            }
            ::Sleep(1000);
        }
    }
    catch ( ... ) {}
DB에 실행명령이 들어오면 frmMain->funEnableService(true); 이 함수를 타거던요.
이 함수안에 내용은 1Thread->Resume();한후 2Thread->Suspend();
시키는 것입니다.
디버그를 해보면 로직은 잘 타는데 Resume이 잘 안됩니다.
ㅠㅠ Thread를 두개이상 써본적이 없어서 어떤 식으로 해야할지..
결론은 1Thread가 실행상태면 2Thread는 휴식
1Thread가 휴식상태면 2Thread는 실행이 되어야하는 것입니다.
초보라 어렵네요  답변 부탁드리겠습니다.

+ -

관련 글 리스트
40622 [질문] 쓰레드 질문입니다. 초보빌더 828 2005/06/17
40624     Re:[질문] 쓰레드 질문입니다. smleelms 962 2005/06/17
40632         감사합니다. 초보빌더 792 2005/06/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.