running functions
Tom Anderson
twic at urchin.earth.li
Thu Nov 17 18:29:16 EST 2005
On Wed, 16 Nov 2005, sjdevnull at yahoo.com wrote:
> Gorlon the Impossible wrote:
>
>> Is it possible to run this function and still be able to do other
>> things with Python while it is running? Is that what threading is
>> about?
>
> Threading's a good answer if you really need to share all your memory. A
> multiprocess solution is probably preferrable, though it depends on the
> architecture.
I'm really curious about this assertion, which both you and Ben Finney
make. Why do you think multiprocessing is preferable to multithreading?
I've done a fair amount of threads programming, although in java rather
than python (and i doubt very much that it's less friendly in python than
java!), and i found it really fairly straightforward. Sure, if you want to
do complicated stuff, it can get complicated, but for this sort of thing,
it should be a doddle. Certainly, it seems to me, *far* easier than doing
anything involving multiple processes, which always seems like pulling
teeth to me.
For example, his Impossibleness presumably has code which looks like this:
do_a_bunch_of_midi(do, re, mi)
do_something_else(fa, so, la)
All he has to do to get thready with his own bad self is:
import threading
threading.Thread(do_a_bunch_of_midi, (do, re, mi)).start()
do_something_else(fa, so, la)
How hard is that? Going multiprocess involves at least twice as much code,
if not ten times more, will have lower performance, and will make future
changes - like interaction between the two parallel execution streams -
colossally harder.
tom
--
Remember when we said there was no future? Well, this is it.
More information about the Python-list
mailing list