Are range iterators thread safe?
Stefan Behnel
stefan_ml at behnel.de
Thu Oct 20 05:22:18 EDT 2011
Steven D'Aprano, 20.10.2011 10:04:
> Using Python 3, are range_iterator objects thread-safe?
>
> I have tried this, and it seems to be safe:
>
> >>> from threading import Thread
> >>> x = iter(range(4))
> >>> def doit(x):
> ... print("result =", next(x))
> ...
> >>> threads = [Thread(target=doit, args=(x,)) for i in range(4)]
> >>> for t in threads:
> ... t.start()
> ...
> result = 0
> result = 1
> result = 2
> result = 3
The GIL ensures it's thread safe.
Stefan
More information about the Python-list
mailing list