[Python-Dev] Threading, scalability, and possible bug report

Ian Kjos ikjos@email.uophx.edu
Tue, 23 Apr 2002 23:01:19 -0500


This is a multi-part message in MIME format.

------=_NextPart_000_01C3_01C1EB1A.C7738BC0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

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...


------=_NextPart_000_01C3_01C1EB1A.C7738BC0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi. My name is Ian Kjos. I am a =
professional=20
software developer by trade, but much of the challenge has gone out of =
it. Some=20
time ago, I decided to learn the Python language. Now I believe I have =
something=20
to contribute.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><A =
href=3D"mailto:Barry@zope.com">Barry@zope.com</A>=20
and I have had a short discussion, and it seems a good time to raise the =

following issue on python-dev:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I've been working on multithreading in =
python, and=20
I have some proposals that I would like to talk over with some =
knowledgable=20
people. I aim to donate some code to the standard library, but only if =
it meets=20
the community standards and is consistent with the goals of =
Python.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Please read this:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><A=20
href=3D"http://www.saltillotilestore.com/morethreading.py">http://www.sal=
tillotilestore.com/morethreading.py</A></FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>It contains smoke-tested code,=20
documentation,&nbsp;design notes,&nbsp;and some food for thought. I will =
not=20
claim perfect style at the moment, but I volunteer to clean up those=20
issues&nbsp;as needed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>For the impatient:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Lock pools</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Read/Write Locks</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Easy Thread-Local storage =
support.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I'm also thinking about building a =
metaclass for=20
monitors (in the data-processing sense of the word). An alternative =
might be a=20
synchronized method builder a'la classmethod and =
staticmethod.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Lastly, before this goes standard I'll =
make it safe=20
for "from X import *".</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I wanted to get some feedback and =
direction=20
from&nbsp;other developers&nbsp;before continuing too far. For =
reference, I=20
have&nbsp;already checked python resources, and this effort seems =
orthogonal to=20
other projects I could find.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>/me ponders making the profiler work =
with=20
threads...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_01C3_01C1EB1A.C7738BC0--