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
[11342] Re:[질문] Thread사용시에 객체 delete 시점 좀 알려 주세여
개박살.U&I [inutero] 1415 읽음    2001-09-21 22:43

안녕하세요? 개박살입니다 (또, 자네군.. --)

쓰레드를 생성하고 죽이려고 하면, 스레드자체로써의 메모리 공간은 접근금지입니다.

쓰레드를 죽일때 쓰이는 방법론은

while(true) // 여기서 이렇게 하면 안되죠..

while(변수) 이렇게 고치고

스레드를 만들때 맴버변수 FreeOnTerminate를 true로 설정해주시고

위의 변수를 false로 만들어서 죽입니다.

FreeOnTerminate는 스레드가 죽을때 메모리에서 삭제하라 이런 말이죠

그럼 이해가 되셨남요? ^^;

       

이창환 님이 쓰신 글 :
: TThread를 상속 받아서 class를 만들었습니다.
:
: 메인 폼에 만든 Thread를 동적할당해서 생성하고
:
: 마지막에 메인 폼이 닫힐 경우 delete로 객체를 해지 하였습니다.
:
: 그렇게 했더니 마지막에 에러가 나더군여.
:
: Free()라는 함수를 사용해도 에러가 납니다.
:
: 만든 Thead객체의 소멸자에 delete this를 해도 에러가 나고..
:
: delete를 안하면 에러는 나지 않습니다.
:
: delete를 하지 않으면 메모리 누수가 일어 날 것 같은데
:
: 쓰레드의 execute()함수가 하는일은
:
: while(true)
: {
:    라인을 폼에 그리는 동작
: }
:
: 입니다.
:
: 언제 이 객체를 delete해주어야 하는지 알려 주세여...
:
: 그리고 폼이 늦게 사라집니다.
:
: 아마도 객체가 없어지지 않아서 그런 것 같은데여.
:
: 폼을 닫으면 한참 화면에서 사라지지 않고 멈춰 있다가 사라집니다.
:
: 그럼...

+ -

관련 글 리스트
11340 [질문] Thread사용시에 객체 delete 시점 좀 알려 주세여 이창환 953 2001/09/21
11342     Re:[질문] Thread사용시에 객체 delete 시점 좀 알려 주세여 개박살.U&I 1415 2001/09/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.