본문 바로가기

쓰기

지난번에 올린 쓰레드 문제를 가진 녀석입니다.

왜인진 모르겠지만 돌아가지 않습니다 ㄱ-
조회 수 :
14499
등록일 :
2009.01.06
11:09:26
엮인글 :
https://arallab.hided.net/4209/615/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/4209

whoami

2009.01.06
18:56:17
찾았습니다.

문제는.. 생성자에서 쓰레드를 생성시킨 것이었습니다.

// AutoLoad.h
class CAutoLoad {
  ...
  public:
  void StartThread();
};

// AutoLoad.cpp
CAutoLoad::CAutoLoad()
{ // 생성자
   g_pLoadThread = NULL;  // 여기서 쓰레드 만들지 말것
   g_bRunning=false;
}

void CAutoLoad::StartThread()
{
  g_pLoadThread = AfxBeginThread(...);
  g_bRunning=true;
  g_pLoadThread->ResumeThread(); // 꼭 SUSPEND 로 만든 뒤 Resume 할 필요는 없지 않을까나..
}

// CustomDic2.cpp
CCustmoDic2::CCustomDic2()
{
  ...

  // 일단 제가 테스트할때는 여기서 생성 않았지만 어차피 CAutoLoad 생성자에서
  // 쓰레드 생성 않으니 그냥 CAutoLoad 클래스를 생성해도 될듯
  m_pAutoLoad = NULL;
}
...
void CCustomDic2::FileClear()
{
  // 아마 가장 처음에 불리는 m_pAutoLoad 관련 메쏘드가 이것인듯.
  if (!m_pAutoLoad)
  {
     m_pAutoLoad = new CAutoLoad; // 일단 쓰레드 생성 확인 방법을 잘 몰라 클래스 생성을 체크하는 방법을 사용.
     m_pAutoLoad->StartThread(); // 쓰레드 생성을 이렇게 따로 해줌
   }
   m_pAutoLoad->FileClear();
}

// 혹은.. 아예 CATPluginApp 에서 CCustomDic2 를 생성시키고 나서 바로 StartThread() 를 부르는
// 방법도 생각해 볼 수 있음.

Hide_D

2009.01.06
20:47:53
감사합니다! 즉시 확인해 볼게요!
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 176522
209 Archive [플러그인] DenyWord 테스트 버전 20080924 [1] file Hide_D 2008-09-24 11681
208 Talk 옵션 스트링 버퍼 말이죠? [1] Hide_D 2008-08-11 11662
207 Talk 라파에님 다시 한번 테스트해보세요. [3] file Hide_D 2008-08-17 11661
206 Archive [플러그인] DivideLine 테스트 버전 20080927 [1] file Hide_D 2008-09-27 11650
205 Talk 귀차니즘 발동 Hide_D 2008-07-18 11633
204 Archive [플러그인] DenyWord 테스트버전 081120 file Hide_D 2008-11-20 11595
203 Talk ATCode 버전업에 대해 - 관리자님 봐주세요.. [1] whoami 2008-07-26 11585
202 Talk 픽스 라인 연기로 인한 임시 대책 Hide_D 2008-09-26 11548
201 Archive [플러그인] FixLine 테스트버전 081231_2 [1] file Hide_D 2008-12-31 11473
200 Talk FixLine 예상 작동 방식 [1] file Hide_D 2008-08-23 11458
199 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 2011-02-18 11431
198 Talk AT 0.3 재설계 프로젝트 [1] 아랄 2011-04-16 11296
197 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 2008-07-31 11225
196 Talk 하루카 원문 [1] 나는누구인감? 2008-09-16 11175
195 Talk 죄송해요 ㅠ_ㅠ SVN 위치 trunk -> trunk2 로 옮겨주세요. Hide_D 2008-10-01 11166
194 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080712 file whoami 2008-07-12 11131
193 Archive [플러그인, 소스] RLCmd 테스트 버전 20080726 file whoami 2008-07-26 11117
192 Archive [플러그인, 소스] DenyWord 테스트 버전 20080910 [1] file Hide_D 2008-09-10 11078
191 OtherFiles [잡다]UTF8텍스트파일 -> Hex 출력기 file Hide_D 2008-08-03 11068
190 Archive 임시 소스 보관 DumpText2 file Hide_D 2008-10-11 11064