[Python-3000] improved threading in py3k (original) (raw)
Robin Bryce robinbryce at gmail.com
Mon Aug 7 17:11:22 CEST 2006
- Previous message: [Python-3000] improved threading in py3k
- Next message: [Python-3000] Set literals - another try
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 ?
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
- Previous message: [Python-3000] improved threading in py3k
- Next message: [Python-3000] Set literals - another try
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]