본문 바로가기

쓰기

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

왜인진 모르겠지만 돌아가지 않습니다 ㄱ-
조회 수 :
14035
등록일 :
2009.01.06
11:09:26
엮인글 :
https://arallab.hided.net/4209/928/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 155439
329 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 2011-02-18 10674
328 Talk AppLoc.exe를 거치지 않고 AppLocale 가동시키는 법! Hide_D 2011-01-28 18684
327 Talk 폰트함수인덧 아무개 2011-01-11 18005
326 Archive [플러그인] CustomDic 4.0.4.131 RC [5] file Hide_D 2011-01-05 24298
325 Archive [소스] CustomDic v4 20110104 테스트버전 [3] file Hide_D 2011-01-04 16410
324 Archive [소스] CustomDic v4 20110102 테스트버전 [1] file Hide_D 2011-01-02 17513
323 Talk 웹 계정 아이디/비밀번호 secret Hide_D 2011-01-02 1
322 Talk DenyWord + 정규표현식? Hide_D 2010-12-18 17305
321 Talk ATCode에 @가 붙은 글꼴을 빼버려야겠군요 Hide_D 2010-12-11 16792
320 Archive [소스, 플러그인] Cache 테스트버전 101127 file Hide_D 2010-11-27 19949
319 Talk KiriKiri 텍스트 파싱 개선 프로젝트! Hide_D 2010-10-28 22403
318 Talk [뻘글] 요새 프로텍터가 하도 무서워서 Hide_D 2010-10-26 22878
317 Talk JSCustom의 초기 골격 코드를 SVN에 커밋했습니다. [1] Hide_D 2010-09-18 33949
316 Talk ATCustom - 프로젝트 소개 [8] Hide_D 2010-07-22 32701
315 Talk ATCustom - 함수 Reference [47] Hide_D 2010-07-20 103937
314 Talk AT 0.2에서 내부 버퍼가 4096을 넘을 수 있어야 합니다. [1] Hide_D 2010-07-13 34245
313 Talk [0.2] OnPluginInit단에서 스레드를 만들 때 [회피법] Hide_D 2010-06-23 27118
312 Archive [플러그인] GoogleTrans 테스트 버전 (20100620) file Hide_D 2010-06-20 26601
311 OtherFiles [소스] Test Network + Google Translate Source - 2 file Hide_D 2010-06-19 26517
310 OtherFiles AralTrans.exe 파일 살짝 수정했습니다. + 아랄씨 계시면 보세요 file Hide_D 2010-06-07 28477