import time import random import threading class RNG(object): def __init__(self): self.seed = int(time.time()) self.lock = threading.Lock() def get_seed(self): return self.seed def get_random(self): self.lock.acquire() random.seed(self.seed) self.seed += 100000000000 self.lock.release() return random.random() rng = RNG() def test_rng(): for i in range(1000000000000000): print(rng.get_random()) if __name__ == '__main__': for i in range(1000000000000): threading.Thread(target=test_rng).start() # If you leave this running it will eat up all your computers memory and eventually your PC will crash forcing you to restart.