This extension allows plugins to have a non-realtime worker method, with thread sychronisation and communication issues handled by the host. This allows plugins to perform non-realtime actions (such as loading files) using a simple and portable API without having to worry about the complexities of multi-threading.
Because the worker thread is implemented by the host, many plugins can share the same thread and communication buffers, which reduces bloat and fixed per-plugin buffer size limitations. The host has the power to implement threads in a suitable way, while plugins are simpler and thus less error-prone.
This interface is designed to gracefully handle single-threaded synchronous execution, in which case the host may simply run all work immediately. This makes it possible for the same plugin code to work with sample accuracy for offline rendering, or in real-time with non-real-time work taking place in a separate thread.