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
[72339] Re:Re:[질문] Thread의 Wait 상태 여부 알기
[] 3619 읽음    2015-02-08 03:22
님이 쓰신 글 :
: 돌맹이 님이 쓰신 글 :
: : Thread가 WaitForSingleObject()로 기다리다가, Event가 도착하면,
: : 해당 기능을 동작하고 다시 WaitForSingleObject()로 기다리게 되어 있는데요..
: :
: : Thread 외부에서 해당 Thread가 WaitForSingleObject()에서 기다리고 있는 지,..
: : 아니면 어떤 동작을 하고 있는 지를 파악할 수 있나요?
: :
: : 코드로 본다면
: :
: :
////////////////////////////////////////////////////////////////////
: : // Thread body 부분
: : TThread::Execute()
: : {
: :     ....
: :     while ( 1 ) {
: :         ..
: :         WaitForSingleObject();
: :         ...
: :         // Do Something
: :         ...
: : }
: : ////////////////////////////////////////////////////////////////////
: : 
: : 
: : ////////////////////////////////////////////////////////////////////
: : // 사용할 때
: : ////////////////////////////////////////////////////////////////////
: : TThread *pThread = new TThread();
: : 
: : if ( pThread->IsWorking() ) {  // 일반 동작 중(기다리는 상태가 아님
: :     // Do Something
: : } else {                                   // WaitForSingleObject()에서 기다리는 상태
: :     // Do Something
: : }

: :
: : 핵심은 pThread->IsWorking()함수를 쓸 수 있느냐 인 것입니다.
: : 아니면 따로 만들어야 하나요?
: :
: :
:
: NtQueryInfo라는 언도큐먼티드 API를 이용하면 원하는 정보를 얻을 수 있습니다.
: 언도큐먼티드 API지만 XT, WIN7, WIN8 에서 모두 동작합니다.
: 이 API는 제공하는 기능도 다양하고, 시스템 유틸리티에서 워낙 많이 사용되고 있기 때문에
: MS가 차후 OS 버전에서 지원 안할리는 없을 겁니다.
:

NtQeurySystemInformation이라는 롱네임으로 검색해 보세요

+ -

관련 글 리스트
72329 [질문] Thread의 Wait 상태 여부 알기 돌맹이 3459 2015/02/05
72338     Re:[질문] Thread의 Wait 상태 여부 알기 3640 2015/02/08
72339         Re:Re:[질문] Thread의 Wait 상태 여부 알기 3619 2015/02/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.