<div><span class="gmail_quote">On 10/9/08, <b class="gmail_sendername">Arnar Birgisson</b> &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:arnarbi@gmail.com" target="_blank">arnarbi@gmail.com</a>&gt; wrote:</span> 
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Larry,<br><br>On Thu, Oct 9, 2008 at 22:06, Larry Dickson &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:ldickson@cuttedge.com" target="_blank">ldickson@cuttedge.com</a>&gt; wrote:<br>
&gt; Did my message (20081006) get through with the attached notes? I haven&#39;t<br>&gt; heard any responses, and I&#39;m wondering if the attachments (just short text<br>&gt; things) somehow gummed things up.<br><br>Yes, they went through :)<br>
<br>I read your notes quickly, I didn&#39;t have any questions or comments.<br>I&#39;m afraid I don&#39;t totally understand where this fits in and what<br>functionality it intends to replace.<br><br>cheers,<br>Arnar<br></blockquote>
</div>
<div>&nbsp;</div>
<div>It was in response to the problem you and David identified last month, namely ---</div>
<div>&nbsp;</div>
<div>On Fri, Sep 26 17:09:54 CEST 2008, Arnar Birgisson &lt;arnarbi at <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://gmail.com/" target="_blank">gmail.com</a>&gt; wrote:<br>&gt; Hey there,<br>&gt;<br>
&gt; On Fri, Sep 26, 2008 at 15:50, David Naylor &lt;dragonsa at <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://highveldmail.co.za/" target="_blank">highveldmail.co.za</a>&gt; wrote:<br>&gt; &gt;&gt; &gt; 2) Will stackless switch to another tasklet when entering blocking<br>
&gt; &gt;&gt; &gt; routines<br>&gt; &gt;&gt; &gt; (like IO), I know threads do this...<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; No it won&#39;t.&nbsp; In fact, it fundamentally *can&#39;t* (since it &quot;runs&quot; in<br>&gt; &gt;&gt; only one thread).<br>
&gt; &gt;<br>&gt; &gt; Surely there is a way around this?&nbsp; Some kind of pooling select?&nbsp; If there is<br>&gt; &gt; no work around then I cannot see too much practical use for my thread library<br>&gt; &gt; [except having to avoid learning tasklets for someone who is familiar with<br>
&gt; &gt; threads].&nbsp; As I understand it, due to the GIL the only real practical use for<br>&gt; &gt; threads is if one has blocking function calls (IO-type, etc)<br>&gt;<br>&gt; The solution would be asynchronous I/O. There have been discussions<br>
&gt; here occasionally about something generic, like wrapping libevent or<br>&gt; similar in an interface that &quot;looks&quot; synchronous but in the background<br>&gt; does async I/O and uses channels to make it look synchronous. I figure<br>
&gt; such a thing would be an excellent component of your thread library.<br>&gt;<br>&gt; &gt; [Has the GIL restriction been fixed in 3k?&nbsp; As far as I know Jython does not<br>&gt; &gt; have this limitation...]<br>&gt;<br>
&gt; The GIL has not been removed in Py 3.0, nor will it be removed any<br>&gt; time soon. Jython does not have such a thing.<br>&nbsp;</div>
<div>This design solves all these problems, using only C/Unix select (which you pointed out is already used to do time.sleep) in the virtual machine;&nbsp;and it&nbsp;runs in only one thread. There is no need to remove the GIL.</div>

<div>&nbsp;</div>
<div>Larry<br>&nbsp;</div>