[][src]Struct rand::rngs::ThreadRng

pub struct ThreadRng { /* fields omitted */ }

The type returned by thread_rng, essentially just a reference to the PRNG in thread-local memory.

ThreadRng uses the same PRNG as StdRng for security and performance. As hinted by the name, the generator is thread-local. ThreadRng is a handle to this generator and thus supports Copy, but not Send or Sync.

Unlike StdRng, ThreadRng uses the ReseedingRng wrapper to reseed the PRNG from fresh entropy every 64 kiB of random data. OsRng is used to provide seed data.

Note that the reseeding is done as an extra precaution against side-channel attacks and mis-use (e.g. if somehow weak entropy were supplied initially). The PRNG algorithms used are assumed to be secure.

Trait Implementations

impl Clone for ThreadRng[src]

impl Copy for ThreadRng[src]

impl CryptoRng for ThreadRng[src]

impl Debug for ThreadRng[src]

impl Default for ThreadRng[src]

impl RngCore for ThreadRng[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T, U> Cast<U> for T where
    U: FromCast<T>, 

impl<T> From<T> for T[src]

impl<T> FromBits<T> for T

impl<T> FromCast<T> for T

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> IntoBits<U> for T where
    U: FromBits<T>, 

impl<R> Rng for R where
    R: RngCore + ?Sized

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,