<div dir="ltr">Hm. Good point. (Though I'm not sure why that ban exists, since it's not enforceable.) Well, feel free to propose a new API for Python 3.8.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 26, 2018 at 11:23 AM, Daniel Collins <span dir="ltr"><<a href="mailto:dancollins34@gmail.com" target="_blank">dancollins34@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="auto">That’s very true. I’ll try to keep my terminology more in line with the implementation in the future.<div><br></div><div>The only problem with that, is that the function utilizes methods that are marked in the documentation as exclusively to be called by the executor (set_result, instantiation of future objects) and it would be confusing if a few lines later, a “but you can use them for this” example was provided.</div><div><br></div><div><span class="">-dancollins34 <br><br><div id="m_-1834957762318353005AppleMailSignature">Sent from my iPhone</div></span><div><div class="h5"><div><br>On Jan 26, 2018, at 1:05 PM, Guido van Rossum <<a href="mailto:guido@python.org" target="_blank">guido@python.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">On Fri, Jan 26, 2018 at 9:20 AM, Daniel Collins <span dir="ltr"><<a href="mailto:dancollins34@gmail.com" target="_blank">dancollins34@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">@Guido As an aside, my understanding was libraries that fall back to c (Numpy as an example) release the GIL for load heavy operations. But I believe the explanation would hold in the general case if you replace thread with process using a ProcessPoolExecutor, that it would be good to be able to submit a callback function back to the executor.<br clear="all"></div></blockquote><div><br></div><div>Sure, but your explanation didn't mention any of that.<br><br></div><div>And yes, good catch on the last line of my example. :-)<br><br></div><div>Given that the solution is only a few lines -- perhaps it's enough to just add it as an example to the docs, rather than to add it as a new function to concurrent.futures? A doc change can be added to 3.7!<br></div></div><br>-- <br><div class="m_-1834957762318353005gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>
</div></blockquote></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div>