[fpc-pascal] FCGI MultiThreaded
Michael Schnell
mschnell at lumino.de
Mon May 5 10:36:23 CEST 2014
On 05/02/2014 02:30 PM, Michael Van Canneyt wrote:
> I don't think these mails qualify as research.
I am sorry for potentially having used inappropriate wording.
I got lots of very useful information from answers in these extremely
helpful lists, that indeed led to me thinking to being finally able to
do such an implementation (given enough spare time).
>
> MseGUI has a event-loop application type that runs without gui.
The event loop issue has long been solved for me. I.e. since the
implementation of TThread.Queue (that in fact has been triggered by one
of my posts on that behalf) is in place (within the fpc rtl).
TThread.Queue finally clearly shows that - for allowing decent
Event-oriented programming - implementing an event queue (or in fact
using the one existing in the rtl) without the LCL (or msegui) is
viable - and seemingly in fact rather easy. I now know that I could do
such a thingy (including a draft of a TTimer implementation) with not
too much effort (given a little bit of spare time).
Here the lacking documentation and the (for me) misleading name of
"CheckSynchronize" (that in fact is the event queue managing call,
handling as well TThread.Synchronize and TThread.Queue) prevented me
from realizing that the fpc rtl already does provide an event queue
implementation. Here silly me seemingly did misunderstand some helpful
hints, I got in the forums a long time ago (while many other hints were
in fact misleading as, like myself, the posters did not know about the
existence of the Event queue in the rtl and recommended to create my own
queue in the LCL - which I found close to impossible for "newcomers" to
do in a way decently consistent with the ways the LCL is crafted. (I did
start such a project but gave up.)
> I doubt it took martin a day to implement it; probably even less than
> half a day.
Some years ago, I did take a deep look at the code in msegui that
implements the event queue (independent form the queue in the fpc rtl).
Martin would have needed to type all that day without thinking a second
for inputting the source files. He es excellent, but not that almighty
:-) .
But anyway, during the said research I found that doing another
implementation of an event queue is not necessary, the one in the rtl
should be just fine. So this seems very doable. and this is why I in
this thread recommended to take a look at this.
Thanks to the maintainers of fpc and all other list members for much
insight I got during these years !
-Michael
More information about the fpc-pascal
mailing list