[Python-3000] improved threading in py3k
Robin Bryce
robinbryce at gmail.com
Mon Aug 7 17:11:22 CEST 2006
On 05/08/06, Marcin 'Qrczak' Kowalczyk <qrczak at knm.org.pl> wrote:
> Josiah Carlson <jcarlson at uci.edu> writes:
>
> > I did not read all of that paper, but it seems to rely on the
> > (un)masking of signals in threads, as well as the sending of signals
> > to 'kill' a thread.
>
> They are not OS signals: it's entirely the matter of the language's
> runtime system.
>
Have you come across the Pi-Calculus ? Every time I see this topic
come up (GIL, threads, concurrency) it seems to founder on the fact[1]
that this can not be solved without language support. This is not
unique to python[2].
The thing that caught my attention with the Pi-Calculus is that it
does not draw an artificial lines between os process, threads,
functional program units or data parameters and it starts out by
demonstrating very clearly why language equivalence (deterministic
automata a == DAb) does not prevent *very* annoying behavioural
differences.
A result of the work (as far as I understood it) is that all can be
treated as equivalent and strong formal tools are given for both
modeling the interactions and proving things like behavioral
equivalence. The book[4] references work done to show this is viable
in interpreted/objecty languages as well as functional ones. Coming
back a little way towards planet earth I remember the last time this
sort of thing came up someone half heatedly suggested "active objects
with messaging"[3] and things died off. Python has always struck me as
a language for pragmatists, rather than a place to play about with
esoteric academic curiosities. May be some one on this list can pick
something useful to py3k out of Pi-calculus ?
<bait-mode>quoting:http://www.python.org/dev/summary/2005-09-16_2005-09-30.html#concurrency-in-python
Guido threw down the gauntlet: rather than the endless discussion
about this topic, someone should come up with a GIL-free Python (not
necessarily CPython) and demonstrate its worth.
[1] err, ok I can't locate the paper that shows this but I *swear*
some one far better qualified than me has written one to this effect.
[2] http://www.decadentplace.org.uk/pipermail/cpp-threads/2005-October/000715.html
[3] http://www.python.org/dev/summary/2005-09-16_2005-09-30.html#concurrency-in-python
also, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/365292
[4] http://www.amazon.com/gp/product/0521658691/ref=si3_rdr_err_product/002-5641420-6196034?ie=UTF8
Cheers,
Robin
More information about the Python-3000
mailing list