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