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
[57056] 지정 함수를 쓰레드에 실어서 실행시키는 클래스(김태선07/07/20) 의 쓰레드 종료 함수 문의
레옹 [] 1213 읽음    2009-06-01 15:15
2007/07/20일에  김태선님이 작성한 "[677] 지정 함수를 쓰레드에 실어서 실행시키는 클래스"
사용하기 간편하게 스택 생성할 수 있는 쓰레드 클래스 버전에 대한 질문입니다.

하기 코드 보면 TThread의 Terminate 구문이 없습니다.
제가 추가하고 싶지만 아직 내공이 딸려 방법이 없습니다.
혹시 이 코드의 쓰레드 종료 함수에 대해 추가 첨삭 가능하신분 부탁드립니다.

class CRunThread
{
    class TRunThread : public TThread
    {
    private:
        TNotifyEvent     OnEvent;
        TObject*         Sender;

    public:
        __fastcall TRunThread(TNotifyEvent event, TObject* sender)
            : TThread(false)
        {
            FreeOnTerminate = true;
            OnEvent = event;
            Sender = sender;
        }
        void __fastcall Execute()
        {
            OnEvent(Sender);
        }
    };
public:
    CRunThread(TNotifyEvent event, TObject* sender)
    {
        TRunThread*  thread = new TRunThread(event, sender);
    }
};
//---------------------------------------------------------------------------
// 요건  쓰레드에 실어서 실행할 함수 입니다.

void __fastcall TForm1::TestFunc(TObject *Sender)
{
    // 엄청 시간이 걸리는 루틴.
    int  k;
    for(int c = 0; c < 199999999; c++)
    {
        k = c;
        k++;
        c = k;
        c--;
    }
    Caption = k;
    Button1->Enabled = true;
}
//---------------------------------------------------------------------------
// 쓰레드를 생성한후 쓰레드에서 함수를 실행한후 즉시 리턴해 프로그램 실행을 계속한다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Button1->Enabled = false;
    CRunThread  thread(&TestFunc, Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    Caption = "하하하";
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
57056 지정 함수를 쓰레드에 실어서 실행시키는 클래스(김태선07/07/20) 의 쓰레드 종료 함수 문의 레옹 1213 2009/06/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.