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
[62898] Re:멀티 쓰레드 상황에서 쓰레드가 돌고 있는데 delete Thread 하면 안되나요?
장성호 [nasilso] 1253 읽음    2010-11-05 11:16
안됩니다.

그냥 Terminate호출하시구

thread의 Execute함수에서는 Terminated를 확인하여 종료하시면 됩니다.

메모리 해제는 FreeOnTerminate를 이용하셔도 되구

thread가 종료된후에 delete하셔도 되구요

thread::Execute()
{
      while(!Terminated)
      {
              //작업
      }
 }


작업중에 Terminated를 반복해서 체크해보여야 하구요..

그럼..


도대체 님이 쓰신 글 :
: FreeOnTerminate 를 false로 놓고
:
: 소멸자에서 Terminate() 시키고
:
: 사용한 자원및 UI 처리를 하고 있습니다.
:
: 잘 되긴 합니다만 Thread 가 300개 까지 생성되야 되는 상황이라
:
: 잘 잘하고 있는 건지 알고 싶네요
:
:
: 질문 정리 1. FreeOnTerminate = false 로 놓고 쓸때 유의점
:
: 질문 정리 2. 쓰레드를 Terminate() 시키지 않고 delete를 해도 되는가?
:
: 질문 정리 3. Thread가 300개(영상을 뿌리는 Thread까지 생성될 수 있는 상황에서 영상 display 함수를
:                      syncronize 로 호출하지 않고 그냥 써도 되는가?

+ -

관련 글 리스트
62869 멀티 쓰레드 상황에서 쓰레드가 돌고 있는데 delete Thread 하면 안되나요? 도대체 1063 2010/11/03
62898     Re:멀티 쓰레드 상황에서 쓰레드가 돌고 있는데 delete Thread 하면 안되나요? 장성호 1253 2010/11/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.