com.esri.arcgis.framework
Class IMultiThreadedApplicationProxy
java.lang.Object
  
com.esri.arcgis.interop.Dispatch
      
com.esri.arcgis.framework.IMultiThreadedApplicationProxy
- All Implemented Interfaces: 
 - IMultiThreadedApplication, Externalizable, Serializable
 
public class IMultiThreadedApplicationProxy
- extends com.esri.arcgis.interop.Dispatch
- implements IMultiThreadedApplication, Serializable
  
Provides access to members that control DLL thread managers.
  
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. 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.
 Product Availability
 Available with ArcGIS Desktop.
- See Also:
 IDllThreadManager, 
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
IMultiThreadedApplicationProxy
public IMultiThreadedApplicationProxy()
IMultiThreadedApplicationProxy
public IMultiThreadedApplicationProxy(Object obj)
                               throws IOException
- Throws:
 IOException
IMultiThreadedApplicationProxy
protected IMultiThreadedApplicationProxy(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
 
getProcessID
public int getProcessID()
                 throws IOException,
                        AutomationException
- The process ID for the application.
  
Product Availability
 Available with ArcGIS Desktop.
 Supported Platforms
 Windows
- Specified by:
 getProcessID in interface IMultiThreadedApplication
 
- Returns:
 - The pid
 - Throws:
 IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
 
 
registerThreadManager
public int registerThreadManager(IDllThreadManager pThreadMgr)
                          throws IOException,
                                 AutomationException
- Registers a DLL thread manager with the application.
  
Product Availability
 Available with ArcGIS Desktop.
 Supported Platforms
 Windows
- Specified by:
 registerThreadManager in interface IMultiThreadedApplication
 
- Parameters:
 pThreadMgr - A reference to a com.esri.arcgis.framework.IDllThreadManager  (in)
- Returns:
 - The mgrCookie
 - Throws:
 IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
 
 
unregisterThreadManager
public void unregisterThreadManager(int mgrCookie)
                             throws IOException,
                                    AutomationException
- Unregisters a DLL thread manager with the application.
  
Product Availability
 Available with ArcGIS Desktop.
 Supported Platforms
 Windows
- Specified by:
 unregisterThreadManager in interface IMultiThreadedApplication
 
- Parameters:
 mgrCookie - The mgrCookie  (in)
- Throws:
 IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.