On 06/27/2011 08:01 PM, Andrew Brunner wrote:

That all changed with the introduction of multi-core systems.  But in
those days everything  was inline.  Now a days everything is running
in parallel.

Yep. But the user application code just sees threads.

Since ages, the user code needs to consider threads to work concurrently and any instruction of each active thread can be executed at exactly the same time, exactly as if each thread has it's own CPU. So any possible concurrent access needs to be protected by the means that are offered by the appropriate libraries (e.g. critical section).

Thus regarding the user code there is no difference at all. The dirty details need to be handled by the infrastructure (compiler, libraries, OS).

If the user code needs more performance that this simple paradigm can offer it might introduce low level stuff (such as interlocked instructions). But I would not consider such programs "user code" any more.

-Michael

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to