On 05/13/2015 11:16 AM, Sven Barth wrote:
You do know that there exist other synchronisation primitives beside
the event queue? And since the TParallel.For itself is a blocking call
I highly suspect that they *don't* use the event queue, but TEvent and
similar instead.
If using other synchronization primitives but the event queue might
interfere with e.g. the LCL's "Application.ProcessMessages" mechanism.
IMHO it already is not a nice implementation that the fpc event queue
needs to be handled in parallel with the LCL event queue (which is
buried within the Windows API when running in Windows, but coded
explicitly in Pascal when running in Linux). Creating yet a third
potentially parallel active synchronizing mechanism for multi-core
support hidden in a library sounds not like a good idea to me.
-Michael
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel