Skip to content

vtkThreadedCallbackQueue: introducing vtkCallbackTokens

vtkCallbackTokens are now returned by Push and the new CausalPush method. They embed a std::shared_future which allows to synchronize code in the main thread depending on whether certain functions have been executed or not.

CausalPush takes as input, in addition to the function and parameters, a container of tokens. The pushed function through this method will only execute when the functions associated with the tokens have all terminated.

Currently, the thread taking charge of a function that needs to wait before being executed just call the wait() method of the future. There could be a smarter way to do that by having multiple queues depending on the readiness of functions.

Edited by Yohann Bearzi (Kitware)

Merge request reports