ArcGIS Pro is a multithreaded application that allows multiple operations to run at the same time on different threads. The Geoprocessing pane provides access to the geoprocessing thread and the main foreground thread. A separate Python process is also available for scheduled tools. Tools run in ModelBuilder, ArcGIS Notebooks, and the Python window can only run on the foreground thread.
Learn more about ArcGIS Pro architecture
Run modes
When you open a tool in the Geoprocessing pane, you can use the Run Modes menu next to the Run button
to choose one of the following options:
- Geoprocessing Thread
—This thread is a background thread dedicated to running geoprocessing tools. While a tool runs on the geoprocessing thread, you can still interact with the application and map. Use this thread to run tools that are expected to take more than a minute to complete. This is the default option, unless there are pending edits or the Enable Undo toggle button is turned on. - Foreground Thread
—The main foreground thread is one of the four worker threads that govern the Cartographic Information Model (CIM). The foreground thread may provide faster processing times than the geoprocessing thread. Since you cannot interact with the application while a tool is running on the foreground thread, use this thread to run tools that are expected to take a few seconds to complete.
Note:
The selected Run Mode option will be used by all tools across all your projects until you change it.
Tool processing threads
When you run a tool in the Geoprocessing pane, the tool can process on the geoprocessing or foreground thread. The following are cases when tools must run in the foreground thread, blocking interactions with the application for the duration of the tool run time:
- Running a tool when there are pending edits or when the Enable Undo toggle button is turned on.
- Running a tool in Notebooks or the Python window.
- Running a tool in an ArcGIS Pro add-in may lock the application depending on the methods and properties of the tools set in the add-in.
- Running a model interactively in the ModelBuilder window.
- Running a tool from a floating window opened from a ribbon command, the Contents pane, the table view, or other user interface command.