<div dir="ltr"><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 25, 2017 at 1:34 PM, Joshua Bloch <span dir="ltr"><<a href="mailto:jbloch@gmail.com" target="_blank">jbloch@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This is very<i> </i>similar in spirit to the "many-to-few" threading model that was popular in the '90s. You can read about it in Butenhof's <i>Programming with POSIX Threads (Addison-Wesley, 1997)</i>, §5.6.3. The concept pretty much died on the vine when kernel threads got faster and cheaper, but everything old is new again.</div></blockquote><div><br></div><div class="gmail_default" style="font-size:large">​Solaris had a M-to-N threading model, at least at one point, but I'm not sure if they kept that in the latest versions.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Andy</div><div class="gmail_default" style="font-size:large">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>BTW, I believe that by far the most important thing this project could do for the average Java programmer is to provide yield iterators, à la C#. Writing your own iterator is difficult, and writing one for collections whose traversal is inherently recursive is extremely difficult: you have to translate the recursive algorithm into an iterative one by maintaining an explicit stack instead of using the thread's stack. Giving people yield iterators makes it trivial to write iterators. This should be a tier 1 use case: If a proposed solution can't handle it, the solution should be repaired or discarded.</div><div><br></div><div>Josh</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 25, 2017 at 11:42 AM, Andrig Miller <span dir="ltr"><<a href="mailto:anmiller@redhat.com" target="_blank">anmiller@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:large"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Oct 25, 2017 at 11:31 AM, thurstonn <span dir="ltr"><<a href="mailto:thurston@nomagicsoftware.com" target="_blank">thurston@nomagicsoftware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Love it.<br>
<br>
BTW, for those with institutional memory, isn't that what "green threads"<br>
more or less were meant to be, back in the earlier days of Java?  Before my<br>
time, and I never used them . . .<br></blockquote><div><br></div></span><div style="font-size:large">​If memory serves me correctly, green threads were only present for platforms that didn't have threads in their kernel.</div><div style="font-size:large"><br></div><div style="font-size:large">Andy</div><span><div style="font-size:large">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<br>
--<br>
Sent from: <a href="http://jsr166-concurrency.10961.n7.nabble.com/" rel="noreferrer" target="_blank">http://jsr166-concurrency.1096<wbr>1.n7.nabble.com/</a><br>
<div class="m_-2407052653525388976m_-5275189483730438316HOEnZb"><div class="m_-2407052653525388976m_-5275189483730438316h5">______________________________<wbr>_________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu" target="_blank">Concurrency-interest@cs.oswego<wbr>.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" rel="noreferrer" target="_blank">http://cs.oswego.edu/mailman/l<wbr>istinfo/concurrency-interest</a><br>
</div></div></blockquote></span></div><span class="m_-2407052653525388976HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_-2407052653525388976m_-5275189483730438316gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><font size="4">Andrig (Andy) T. Miller<br></font></div><font size="4">Global Platform Director, Middleware<br></font></div><font size="4">Red Hat, Inc.</font><br></div></div></div></div>
</font></span></div></div>
<br>______________________________<wbr>_________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu" target="_blank">Concurrency-interest@cs.oswego<wbr>.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" rel="noreferrer" target="_blank">http://cs.oswego.edu/mailman/l<wbr>istinfo/concurrency-interest</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><font size="4">Andrig (Andy) T. Miller<br></font></div><font size="4">Global Platform Director, Middleware<br></font></div><font size="4">Red Hat, Inc.</font><br></div></div></div></div>
</div></div>