OpenMP is about lightweight threads. The 'thread events' proposal is
the opposite: normal threads+events queues.
Of course you are right here.

IMHO the "parallel" idea is hard to implement, as the compiler needs to heavily support it. And it's completely outside of what a user expects from a Delphi language compiler. The implications of "parallel" sections might be hard to understand to the user of the compiler, especially if the language does not implement additional synchronizing methods. (Issues: ThreadVars versus normal Vars unprotected normal vars will fail, even a normal counter fails with multiple CPUs if the compiler does not create a bus lock instruction).

Nonetheless it's a good investment in the future, regarding multiple CPUs to become very common (and "light wight" threads in Linux supporting this a lot better than the Windows thread model that seems to impose a lot more overhead).

OTOH "Event Threads" is just an RTL enhancement and thus it's quite easily implemented. And "thread events" only adds a single "procedure of thread" keyword or slightly extends the implementation of "procedure of object". This should not be to hard to implement either. (Of course the user needs to take care of synchronizing issues as well.))

Both techniques can live
happily together, so I think, the thread events should get a page of
its own.
I can do this. But to me it looks like things in a wicki get lost very easily as they will only be found if someone explicitly searches for that issue. So doing another stand-alone article only makes sense when knowing decent locations where to place a link to same.

-Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to