Ondrej Pokorny wrote on Thu, 28 Jan 2016:
Regarding: http://bugs.freepascal.org/view.php?id=29526 (because I
cannot answer on closed issues).
Also: the entire state of the random number generator consists of
regular global variables, so it is not safe to use it from
multiple threads in parallel.
Would it make sense to you to make random thread-safe? E.g. with the
use of "threadvar" instead of "var" for the global variables in
question?
No. The Mersenne twister has a lot of state (about 2KB). Duplicating
this for every thread, along with associated slowdown, is not worth
it. It's better to use a class that encapsulates the state of a random
number generator and then instantiate this class for every thread.
Jonas
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel