[Lazarus] A few questions on threads

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Tue Oct 4 15:24:41 CEST 2011


michael.vancanneyt at wisa.be wrote:
> On Tue, 4 Oct 2011, Mark Morgan Lloyd wrote:
> 
>> michael.vancanneyt at wisa.be wrote:
>>
>>>> Suspend and Resume have been deprecated, and I want to know how a 
>>>> thread can
>>>> be suspended.
>>>
>>> There is - to my knowledge - no safe way of doing so.
>>
>> Can a thread safely suspend itself, subject to an external resume? If 
>> not, what is the "official" alternative?
> 
> A thread can always suspend itself. It's the suspend by another thread that
> is dangerous.

Thanks for that Michael. I've got a thread which runs for a stretch in 
the background to query a database (to avoid a UI glitch), then suspends 
itself until it's kicked back into life by the main thread approx 30 
seconds later. Appears reliable on all tested platforms.

Put another way, I can see the argument for restricting access to 
Suspend but I hope nobody has got plans to eliminate it completely.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list