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
[43938] 쓰레드 생성 및 소멸
freeman [builder88] 1278 읽음    2006-03-06 13:00
안녕하세요.
아래와 같이 쓰레드를 생성하고 나서.
버튼을 클릭하면 TSori  쓰레드가 생성되고 이놈은 소리만 연주하고
바로 Terminate();를 호출하여 쓰레드를 죽이고 있는 구조 입니다.

첫번째 질문 : 생성자에서  FreeOnTerminate = true; 로하면 스레드가 죽고나서
                    모든 쓰레드에 관한 리소스는 반납을 합니까 ?
두반째 질문 : "TSori = new  TSound("SD_3");" 이 부분이 의문이 가는데
통상적으로 new로 동적으로 객체를 생성하면 끝나면 delete TSori;를 해야 하지 않습니까?
그냥 계속 ::Button1Click(this)를 수십번 반복해도 이상이 없던데 이렇게 사용해도 문제가 없습니까?

부탇드립니다. 좋은 날 되세요.


TSound *TSori;
void __fastcall TFSMSSend::Button1Click(TObject *Sender)
{
           TSori = new  TSound("SD_3");
}
//---------------------------------------------------------------------------
//   쓰레드
//-------------------------------- -------------------------------------------
class TSound : public TThread
{           
private:
        char name[20];
protected:
        void __fastcall Execute();
public:
        __fastcall TSound(char *p);
};

__fastcall TSound::TSound(char *sori)
        : TThread(false)
{
        memset(name,0,20);
        strcpy(name,sori);
        FreeOnTerminate = true;
}
//---------------------------------------------------------------------------
void __fastcall TSound::Execute()
{            
           if(bDllLoad)
                  PlasyWave(WaveDllInstance,name) ;
           Terminate();
}

+ -

관련 글 리스트
43938 쓰레드 생성 및 소멸 freeman 1278 2006/03/06
43943     Re:쓰레드 생성 및 소멸 외랑 1381 2006/03/06
43952         Re:Re:쓰레드 생성 및 소멸 freeman 1672 2006/03/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.