delphi的程序在线程里 怎么降低CPU占用?
delphi写的一个多线程的程序 占用CPU大概1%左右,为了能够进一步降低CPU使用 而且尽可能有效率 应该怎么做?
用了多线程中用了临界和延迟。
sleep用在里面怕卡,主要是DLL注入 要能及时响应 DLL界面的消息。
if not Terminated then
begin
EnterCriticalSection(Myps); //进入临界区
try
docase(case1);//
finally
aSleep(5);//把这里的数据提高到aSleep(50);//都没用,没办法把CPU占用降低
LeaveCriticalSection(Myps); //离开临界区
end;
end;
if Terminated then
begin
break;
end;
cpu占用 多线程 Delphi
constructor Tthread1.Create;
begin
FEvent := CreateEvent(nil,True,True,nil);
inherited Create(False);
end;
procedure Tthread1.aSleep(ms:Word);
begin
ResetEvent(FEvent);
WaitForSingleObject(FEvent,ms);
end;