Hi. My name is Ian Kjos. I am a professional software developer by trade, but much of the challenge has gone out of it. Some time ago, I decided to learn the Python language. Now I believe I have something to contribute. Barry@zope.com and I have had a short discussion, and it seems a good time to raise the following issue on python-dev: I've been working on multithreading in python, and I have some proposals that I would like to talk over with some knowledgable people. I aim to donate some code to the standard library, but only if it meets the community standards and is consistent with the goals of Python. Please read this: http://www.saltillotilestore.com/morethreading.py It contains smoke-tested code, documentation, design notes, and some food for thought. I will not claim perfect style at the moment, but I volunteer to clean up those issues as needed. For the impatient: Lock pools Read/Write Locks Easy Thread-Local storage support. I'm also thinking about building a metaclass for monitors (in the data-processing sense of the word). An alternative might be a synchronized method builder a'la classmethod and staticmethod. Lastly, before this goes standard I'll make it safe for "from X import *". I wanted to get some feedback and direction from other developers before continuing too far. For reference, I have already checked python resources, and this effort seems orthogonal to other projects I could find. /me ponders making the profiler work with threads...
On Tue, Apr 23, 2002, Ian Kjos wrote:
Lastly, before this goes standard I'll make it safe for "from X import *".
-1 even without looking at the rest. import * is evil, evil, evil; it's a recipe for namespace pollution; it makes debugging a total chore. Okay, it's not quite that bad, but I do everything I can to discourage its use. I'll look at the rest later. -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ What if there were no rhetorical questions?
Cool stuff, Ian! I'm no MT expert, but I hope we'll be able to do something useful with this for the benefit of those who are. --Guido van Rossum (home page: http://www.python.org/~guido/)
On Tue, 23 Apr 2002, Ian Kjos wrote:
I'm also thinking about building a metaclass for monitors (in the data-processing sense of the word). An alternative might be a synchronized method builder a'la classmethod and staticmethod.
I already have a metaclass for monitors in the works. I'm about to go out of town for a week, but I'll definitly send you my current prototype when I return. -Kevin -- Kevin Jacobs The OPAL Group - Enterprise Systems Architect Voice: (216) 986-0710 x 19 E-mail: jacobs@theopalgroup.com Fax: (216) 986-0714 WWW: http://www.theopalgroup.com
barry wrote:
"A" == Aahz
writes: A> import * is evil, evil, evil; it's a recipe for namespace A> pollution; it makes debugging a total chore.
But like bare-excepts, it has it's place.
the rule is "use only if you know what you're doing", not "don't use because aahz don't know what you're doing" </F>
So are there any MT experts out there? I'd hardly call myself an expert
without meeting someone else who studied the subject to compare with. In any
case, I have a policy against foisting code of this nature on others without
code review.
----- Original Message -----
From: "Guido van Rossum"
Cool stuff, Ian! I'm no MT expert, but I hope we'll be able to do something useful with this for the benefit of those who are.
--Guido van Rossum (home page: http://www.python.org/~guido/)
On Thu, Apr 25, 2002 at 12:00:20PM -0500, Ian Kjos wrote:
So are there any MT experts out there? I'd hardly call myself an expert without meeting someone else who studied the subject to compare with. In any case, I have a policy against foisting code of this nature on others without code review.
good style! One one side i know some things as i have implemented a multithreaded distributed transaction service in c++ (which uses similar idioms like your code). But i don't think that my python knowledge in this area is good enough. holger
participants (8)
-
Aahz
-
barry@zope.com
-
Fredrik Lundh
-
Guido van Rossum
-
holger krekel
-
Ian Kjos
-
Kevin Jacobs
-
martin@v.loewis.de