On Wed, Sep 24, 2014 at 8:44 AM, Praveen Gollakota <pgollak...@gmail.com> wrote:
> However, it seemed to fail when I removed the `time.sleep(random.random())` 
> statements, i.e. at least a few `func` functions and `callbacks` **did not** 
> run in the same thread.
>
> For a project that I am working on, the callback must always run on the same 
> thread as the submitted function, so I wanted to be sure that this is 
> guaranteed by TPE. (And also the results of the test without the random sleep 
> seemed puzzling).

The documentation for Future.add_done_callback says: "If the future
has already completed or been cancelled, fn will be called
immediately." Checking the code, the callback is simply called from
the submitting thread in this case. This makes sense as the thread
that completed the future has already moved onto something else and
may not be readily available or even identifiable.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to