This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ArcObjects namespaces > Framework > ESRI.ArcGIS.Framework > Interfaces > IM > IMultiThreadedApplication Interface (ArcObjects .NET 10.5 SDK) |
Provides access to members that control DLL thread managers.
Description | ||
---|---|---|
GetProcessID | The process ID for the application. | |
RegisterThreadManager | Registers a DLL thread manager with the application. | |
UnregisterThreadManager | Unregisters a DLL thread manager with the application. |
CoClasses and Classes | Description |
---|---|
Application (esriArcCatalog) | Esri ArcCatalog Application. |
Application (esriArcGlobe) | Esri ArcGlobe Application. |
Application (esriArcMap) | Esri ArcMap Application |
Application (esriArcScene) | The 3D Modeling Application. |
Multithreading refers to a software configuration where independent paths of execution are in use simultaneously in an application. Each thread has its own stack and its own CPU state. The Application object implements the IMultiThreadedApplication interface that provides a simple callback mechanism for registering user created thread manager objects.
A thread manager object is any object that implements the IDllThreadManager interface. The thread manager object will be notified prior to application shutdown so that all currently running threads can be exited cleanly before the Application process actually shuts down. If you are developing components that will create threads and will be used in any of the ArcGIS application processes, the dll that contains these components must also contain an object that implements IDllThreadManager. Also, you must use the IMultiThreadedApplication interface to register this thread manager object with that application.
The IMultiThreadedApplication interface has methods for registering and unregistering thread managers with the application and returning the process ID of the application.