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
[55886] 1ms 쓰레드를 돌리고 싶은데 안되네요 ;;
똥꼬베이베 [] 1350 읽음    2009-01-23 15:57
HANDLE ThreadHandle;
bool   ThreadEnable;

void __fastcall StartThread(void)
{
    //Thread #1.
    ThreadEnable = true;
    ThreadHandle = CreateThread(NULL , 0 , (LPTHREAD_START_ROUTINE)Loof, NULL , 0 , &dwTimerId);
    SetThreadPriority(ThreadHandle , THREAD_PRIORITY_TIME_CRITICAL);
}

//----------------------------------------------------------------------------
void __fastcall EndThread(void)
{
    //Thread #1.
    ThreadEnable = false;
    ::ResumeThread(ThreadHandle
    while (::GetExitCodeThread(ThreadHandle, &dwTimerId{
        if (dwTimerId == STILL_ACTIVE) continue;
        else break;
        }
    ::CloseHandle(ThreadHandle);
}

//----------------------------------------------------------------------------
WORD Loof(void)
{

    //Execute.
    while (ThreadEnable) {

            Sleep(1);

        }
    return 0L;
}

이런식으로 구성을 했는데 지금 다른 컴퓨터들에서도 실험 해봤는데 좀 사양이 괜찮으면 1ms정도로 돌다가 가끔 15정도로 튀고요. 제 컴은 구려서 그런지 아예 15정도로 돕니다.
저기서 Sleep(1)을 Sleep(0)으로 하면 1ms 안으로 들어 오는데 cpu가 50프로 넘어 가면서 굉장히 힘들어 합니다.

    요약
      1.  쓰레드 안에 Sleep(1)을 넣으면 씨피유는 괜찮으나 속도가 15미리 정도 나온다.(컴퓨터 마다 조금 다를수 있음)
      2.  쓰레드 안에 Sleep(0)을 넣으면 씨피유가 50프로 넘게 되고 속도는 1미리 언더로 떨어 진다.
      3.  즉 한 5미리 정도로 돌리면서 씨피유 부하율이 20프로 정도 나오게 할수 없습니까?

+ -

관련 글 리스트
55886 1ms 쓰레드를 돌리고 싶은데 안되네요 ;; 똥꼬베이베 1350 2009/01/23
55908     Re:1ms 쓰레드를 돌리고 싶은데 안되네요 ;; Intotheblue 1674 2009/01/28
55909         Re:Re:1ms 쓰레드를 돌리고 싶은데 안되네요 ;; 똥꼬베이베 1863 2009/01/28
55889     Re:1ms 쓰레드를 돌리고 싶은데 안되네요 ;; 장성호 1737 2009/01/23
55907         Re:Re:1ms 쓰레드를 돌리고 싶은데 안되네요 ;; 똥꼬베이베 2185 2009/01/28
55888     Re:1ms 쓰레드를 돌리고 싶은데 안되네요 ;; 재일이 1782 2009/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.