[Lazarus] Some questions about thread timing and syncrhonization
Michael Schnell
mschnell at lumino.de
Tue Jul 13 09:50:31 CEST 2010
On 07/12/2010 04:26 PM, Frank Church wrote:
> The code is running in a TProcess executing command prompt programs
> rather than from an API,
You mean it's a no-GUI project ?
In fact, at the moment, Lazarus lacks a Application Template and Widget
Type for programs that need TTimer (and similar things) but are supposed
to run in a (Linux) system that does not provide a GUI API, Here using
Threads can be a work-around.
Do you in fact want to run your program on a system that does not
provide a GUI API ? Otherwise you can just do a normal (GUI enabled)
application and hide the main form.
> My preferred approach is that even if the thread is suspended during
> the Synchronize period, it should remain suspended until a timer
> running in the main thread kicks it of again. I think testing the
> thread's *while not terminated* loop to see if it is time yet is an
> inefficent use of resources.
Of course you are right that "busy spinning" always is a bad idea. As
said, a suspended thread needs to be woken by another thread. In most
cases there are better synchronizing options than using "suspend".
(TEvent, TCriticalSection, ...)
-Michael
(BTW.;: Do not top-post. This makes the Forum Thread hard to read.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20100713/42ff67a3/attachment-0004.html>
More information about the Lazarus
mailing list