com.esri.arcgis.framework
Class IDllThreadManagerProxy
java.lang.Object
com.esri.arcgis.interop.Dispatch
com.esri.arcgis.framework.IDllThreadManagerProxy
- All Implemented Interfaces:
- IDllThreadManager, Externalizable, Serializable
public class IDllThreadManagerProxy
- extends com.esri.arcgis.interop.Dispatch
- implements IDllThreadManager, Serializable
Provides access to an event that DLL thread managers listen for.
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.
Product Availability
Available with ArcGIS Desktop.
- See Also:
IMultiThreadedApplication
,
Serialized Form
Fields inherited from class com.esri.arcgis.interop.Dispatch |
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Methods inherited from class com.esri.arcgis.interop.Dispatch |
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal |
noncastable
public boolean noncastable
IDllThreadManagerProxy
public IDllThreadManagerProxy()
IDllThreadManagerProxy
public IDllThreadManagerProxy(Object obj)
throws IOException
- Throws:
IOException
IDllThreadManagerProxy
protected IDllThreadManagerProxy(Object obj,
String iid)
throws IOException
- Throws:
IOException
addListener
public void addListener(String iidStr,
Object theListener,
Object theSource)
throws IOException
- Overrides:
addListener
in class com.esri.arcgis.interop.Dispatch
- Throws:
IOException
removeListener
public void removeListener(String iidStr,
Object theListener)
throws IOException
- Overrides:
removeListener
in class com.esri.arcgis.interop.Dispatch
- Throws:
IOException
onShutdown
public void onShutdown()
throws IOException,
AutomationException
- Occurs when the application is shutting down. DLL threads should be terminated upon receiving this message.
Remarks
This method 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.
Product Availability
Available with ArcGIS Desktop.
Supported Platforms
Windows
- Specified by:
onShutdown
in interface IDllThreadManager
- Throws:
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.