<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="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>