On Tue, Dec 2, 2008 at 3:05 PM, Stuart Halloway
<[EMAIL PROTECTED]> wrote:
>
> nextDouble calls next, which according to Java 5 docs is:
>
> synchronized protected int next(int bits) {
>        seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
>        return (int)(seed >>> (48 - bits));
>  }
>
> This is exactly the kind of thing I think we shouldn't have to worry
> about in Clojure.

The docs for Math.random() say:

; When this method is first called, it creates a single
; new pseudorandom-number generator, exactly as if by
; the expression
;
;    new java.util.Random
;
; This new pseudorandom-number generator is used
; thereafter for all calls to this method and is used
; nowhere else.
;
; This method is properly synchronized to allow correct
; use by more than one thread. However, if many threads
; need to generate pseudorandom numbers at a great rate,
; it may reduce contention for each thread to have its
; own pseudorandom-number generator.

So can't you just create multiple instances of java.util.Random if you
need that sort of thing?

-- 
Michael Wood <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to