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

Reply via email to