[Lazarus] Lazarus and Application.ProcessMessages
Paul Breneman
list2010 at BrenemanLabs.com
Wed Dec 3 23:51:06 CET 2014
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
More information about the Lazarus
mailing list