Infinite loops and synchronization
Aahz
aahz at pythoncraft.com
Tue Jul 14 09:54:07 EDT 2009
In article <mailman.3048.1247462046.8015.python-list at python.org>,
Vincent Gulinao <vincent.gulinao at gmail.com> wrote:
>
>lst = list()
>
>while True:
> if len(lst) == SOME_NUMBER:
> return lst
>
>Q2: operating on list from threads (mostly appends) must be safe,
>right (synchronization)?
What do you mean by "safe"? Python certainly won't crash, but there's
no guarantee that the list will be consistent from *your* perspective.
Consider what happens if len(lst) == SOME_NUMBER - 1 and some other part
of your code adds two elements to lst. You'll skip right over your if
condition.
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
"If you think it's expensive to hire a professional to do the job, wait
until you hire an amateur." --Red Adair
More information about the Python-list
mailing list