
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.

barry wrote:
"A" == Aahz aahz@pythoncraft.com 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>

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/)

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" guido@python.org To: "Ian Kjos" ikjos@email.uophx.edu Cc: "Python Dev List" python-dev@python.org Sent: Tuesday, April 23, 2002 11:51 PM Subject: Re: [Python-Dev] Threading, scalability, and possible bug report
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

"Ian Kjos" ikjos@email.uophx.edu writes:
So are there any MT experts out there?
Given the limited reaction, I suggest you first try circulating this more widely. Post announcements to c.l.p.a, create mailing lists (or use existing mailing lists) etc.
Regards, Martin

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
participants (8)
-
Aahz
-
barry@zope.com
-
Fredrik Lundh
-
Guido van Rossum
-
holger krekel
-
Ian Kjos
-
Kevin Jacobs
-
martin@v.loewis.de