visual basic 으로 cpu 점유율 100% 만들기

Posted by 겨울에
2011. 2. 4. 01:58 scrap/ Visual Basic
질문: 비주얼 베이직 질문
2008-03-01 15:39

일정시간동안 렉걸리게 (CPU점유율 100%로) 만드는 프로그램을 구성중입니다.
 
후킹을해서 키를 누르면 작동되게 하고싶지만..-_-;;
 
비베 입문자라서......
 
제가 질문드리고싶은건...
 
무한루프로 CPU점유율을 올렸는데요...
 
50%이상으로는 올라가질 않습니다.
 
사용한 소스는
 
Dim StartTime As Double
Dim EndTime As Double
StartTime = Now
EndTime = DateAdd("s", 7, StartTime)
Do
    If Now > EndTime Then Exit Do
Loop
을 이용해서 약 7초간 렉을 발생시키게 했는데요..
 
이방법으로는 CPU 점유율을 50%이상으로 끌어올릴수 없었습니다.
 
말했다시피 비베 입문자구요..
 
렉으로 인한 일정 딜레이가 있을때의 프로그램 구동상황을 알아보기위해 구성하고 있습니다.
 
CPU점유율 끌어올릴수있는 방법좀 구성해주시면 감사하겠습니다.
 


답변: re: 비주얼 베이직 질문
2008-03-01 18:36

CPU 점유율 100% 만드는 방법은 간단합니다.
제가 C++쪽이라 정확하게는 말씀 못드리지만,
쓰레드를 생성 하시면 됩니다.
 
예를 들면,
 
A쓰레드()
{
       무한루프
       {
              CreateThread( A쓰레드) 
       }
}
 
이런 형식의 쓰레드 함수를 정의하시고,
 
C++ 에서는 생성한 쓰레드가 종료되기를 기다리는 함수가 있습니다.
WaitForSingleObject 라는 함수인데요
여기에 최대 대기 시간이 있습니다. 거기에 밀리초 단위로 넣어주는데요.
 
 
메인
 
ThreadID = 쓰레드 생성
WaitForSingleObject(ThreadID, 대기시간)
 
메인 종료
 
이렇게 하시면 되구요
대기시간에 INFINITE 를 넣으시면 프로그램 종료할 때까지 CPU점유율을 100으로 유지합니다.
 
아마 같은 계열이니 대응하는 함수가 있을 것이라 생각하고 답변 하였습니다.
도움이 되셨으면 하네요 .