On 12/03/2014 04:37 PM, Terry A. Haimann wrote:
I have a program that starts some background processes and then needs to
go to sleep for 15 seconds or so and then come back and check on their
statuses. So I used a loop like the following:
EndTime := Now + EncodeTime(0, 0, 15, 0);
While Now < EndTime do
Application.ProcessMessages;
The problem is that the core this process runs on is running 60-80% cpu
utilization. Is there away to do something like this and not max the
core out? This computer is an i5 Desktop running Linux Mint 17-64.
Thanks in advance, T.
The quickest thing to do is to put Sleep(10) inside the while loop.
That will help you get longer battery life on a laptop and a cooler CPU!
But I would normally use a separate thread. There are a number of
examples here (see ExThread---):
http://turbocontrol.com/APro.htm
If you search CodeNewsFast you might be able to turn up a number on
explanations on why I recommend using a separate thread.
Regards,
Paul
www.TurboControl.com
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus