Any host with an interface will most likely have an interactive thread and a rendering thread. This allows an effect to be manipulated while having renders batched off to a background thread. This will mean that some degree of locking will go on to prevent simultaneous read/writes occuring, see \ref ImageEffectsThreadSafety for more on thread safety.
A host may need to abort a backgrounded render, typically in response to a user changing a parameter value. An effect should occasionally poll the
function to see if it should give up on rendering.