Marcus Alves Grando wrote:

> Diez B. Roggisch wrote:
>> Marcus Alves Grando wrote:
>> 
>>> Hello list,
>>>
>>> I have a strange problem with os.walk and threads in python script. I
>>> have one script that create some threads and consume Queue. For every
>>> value in Queue this script run os.walk() and printing root dir. But if i
>>> increase number of threads the result are inconsistent compared with one
>>> thread.
>>>
>>> For example, run this code plus sort with one thread and after run again
>>> with ten threads and see diff(1).
>> 
>> I don't see any difference. I ran it with 1 and 10 workers + sorted the
>> output. No diff whatsoever.
> 
> Do you test in one dir with many subdirs? like /usr or /usr/ports (in
> freebsd) for example?

Yes, over 1000 subdirs/files.
 
>> 
>> And I don't know what you mean by diff(1) - was that supposed to be some
>> output?
> 
> No. One thread produce one result and ten threads produce another result
> with less lines.
> 
> Se example below:
> 
> @@ -13774,8 +13782,6 @@
>   /usr/compat/linux/proc/44
>   /usr/compat/linux/proc/45
>   /usr/compat/linux/proc/45318
> -/usr/compat/linux/proc/45484
> -/usr/compat/linux/proc/45532
>   /usr/compat/linux/proc/45857
>   /usr/compat/linux/proc/45903
>   /usr/compat/linux/proc/46

I'm not sure what that directory is, but to me that looks like the
linux /proc dir, containing process ids. Which incidentially changes
between the two runs, as more threads will have process id aliases.

Try your script on another directory.

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to