This document is archived and information here might be outdated.  Recommended version.


IDllThreadManager Interface (ArcObjects .NET 10.5 SDK)
ArcObjects Library Reference (Framework)  

IDllThreadManager Interface

Provides access to an event that DLL thread managers listen for.

Product Availability

Available with ArcGIS Desktop.

Members

Description
Method OnShutdown Occurs when the application is shutting down. DLL threads should be terminated upon receiving this message.

CoClasses that implement IDllThreadManager

CoClasses and Classes Description
DllThreadManager DllThreadManager CoType.
FindDialog (esriCatalogUI) The Search dialog box.
TimeControl (esriTrackingAnalystUI) The Playback Manager Control.

Remarks

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.

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 Application object implements the IMultiThreadedApplication interface that provides a simple callback mechanism for registering user created thread manager objects. The IMultiThreadedApplication interface has methods for registering and unregistering thread managers with the application and returning the process ID of the application.

The IDllThreadManager interface has an OnShutdown method that notifies the dll thread manager object that the application is shutting down so that the dll thread manager can terminate any threads that were created by the components in that dll.

See Also

IMultiThreadedApplication Interface