Currently, every agent must look for a path every frame. While improving that is another issue, it would also be nice to allow specifying an executor. This executor could be a SynchronousExecutor which should roughly maintain the existing behaviour, a ThreadPoolExecutor which should compute paths using a thread pool, and perhaps a ThrottledExecutor which could be like the SynchronousExecutor but computes some limited number of paths (or perhaps time limited) per update to prevent large lag spikes.
Currently, every agent must look for a path every frame. While improving that is another issue, it would also be nice to allow specifying an executor. This executor could be a SynchronousExecutor which should roughly maintain the existing behaviour, a ThreadPoolExecutor which should compute paths using a thread pool, and perhaps a ThrottledExecutor which could be like the SynchronousExecutor but computes some limited number of paths (or perhaps time limited) per update to prevent large lag spikes.