[fpc-pascal] TThread.Queue vs TThread.Synchronize
Marco van de Voort
marcov at stack.nl
Tue Feb 24 16:38:23 CET 2015
In our previous episode, Michael Schnell said:
> On this behalf, "Application.QueuAsyncCall" is more versatile.
>
> But it's easy with TThread.Queue, as well.
>
> - define a class (not to be derived from TThread) that holds the data
> to be transferred and a procedure without parameters
> - create an instance of that class
(where to store that instance?)
> - use TThread.Queue to have the said procedure be executed by the main
> thread
> - at the end of the said procedure do "free" (without a prefix) this
> will make the instance remoce itself.
You need a full queue for that, since the mainthread might not run till the
thread next queue()'s.
I've a simple generic threadsafe queue that I use for that.
More information about the fpc-pascal
mailing list