running functions

Tom Anderson twic at urchin.earth.li
Fri Nov 18 18:54:29 EST 2005


On Thu, 17 Nov 2005, Scott David Daniels wrote:

> Gorlon the Impossible wrote:
>
>> I have to agree with you there. Threading is working out great for me
>> so far. The multiprocess thing has just baffled me, but then again I'm
>> learning. Any tips or suggestions offered are appreciated...
>
> The reason multiprocess is easier is that you have enforced separation. 
> Multiple processes / threads / whatever that share reads and writes into 
> shared memory are rife with irreproducible bugs and untestable code. 
> Processes must be explicit about their sharing (which is where the bugs 
> occur), so those parts of the code cane be examined carefully.

That's a good point.

> If you program threads with shared nothing and communication over Queues 
> you are, in effect, using processes.  If all you share is read-only 
> memory, similarly, you are doing "easy" stuff and can get away with it. 
> In all other cases you need to know things like "which operations are 
> indivisible" and "what happens if I read part of this from before an 
> update and the other after the update completes, .....

Right, but you have exactly the same problem with separate processes - 
except that with processes, having that richness of interaction is so 
hard, that you'll probably never do it in the first place!

tom

-- 
science fiction, old TV shows, sports, food, New York City topography,
and golden age hiphop



More information about the Python-list mailing list