On 03/29/2017 01:15 PM, Michael Van Canneyt wrote:
On Wed, 29 Mar 2017, Dimitrios Chr. Ioannidis via fpc-pascal wrote:
Hi,
On 29/3/2017 9:57 μμ, fredvs wrote:
Hello.
Some developers treat me as dinosaur because I use threads in place of
doing
parallelism.
Huh, ok, but why parallelism is better and how to do it with fpc ?
a nice article I've found long ago when I was researching the same
topic "Threading/Concurrency vs. Parallelism" is the following :
http://tutorials.jenkov.com/java-concurrency/concurrency-vs-parallelism.html
and I tried the multithreadprocslaz package in Lazarus :
http://wiki.freepascal.org/Parallel_procedures
Showing nicely that parallelism in a single process implies threads.
I would not pay too much attention to what these developers are saying.
Either I'm dense, which is entirely possible, or the author of that article
didn't do a good job of making his point, even assuming he had one.
Thinking about this a bit more I would say that "threads" are a means
(vehicle) to achieve parallelism. I think that in the majority of
programming contexts they are synonymous. But I can think of other contexts
where they may not be: Say animating a film. You have 1000 computers
generating frames to be assembled into a final sequence. The process of
dispatching each frame render is most likely not going to be done with the
OSes thread call, but through a networked work queue of some sort (ala
Torque or something). So you have the "task" (rendering the movie) being
worked on in "parallel" via a networked job dispatch mechanism.
Or the case of using "make -j ..." which "forks" multiple jobs (compile,
link, ...) in parallel based on a dependency tree.
I say threading is parallelism, even if just one form of it. The other
methods of parallelism I mentioned here could also be done in FPC with the
appropriate code. But that is a rather nebulous topic to discuss. Concrete
answers for which are only available when you know how a specific job needs
to be broken up.
I'm still looking for a good easy to use job queue myself...
-Jon
--
Jon Foster
JF Possibilities, Inc.
j...@jfpossibilities.com
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal