The Unified Communications Managed API 2.0 Core SDK is designed be multi-thread safe. Some objects that are used to configure settings, options, or are used to contain data passed into an API are exceptions.

  1. An application can invoke methods from different threads. In addition, the platform can be performing work as a result from interacting with remote applications. The application should be prepared to handle exceptions as described in Platform Behaviors (Behavior of Methods and Properties).

  2. The UCMA 2.0 Core SDK will raise events and invoke method callbacks using worker threads. If an application throws an exception in one of the event handlers or callback methods, the worker thread can crash unless the application registers for handling unhandled exceptions. For more information, see UCMA 2.0 Core Exception Model.

  3. When an operation is invoked on an object that is already terminated, the callback associated with that operation can be invoked in the application thread itself. When this happens, the CompletedSynchronouslyproperty is set to true. For more information about CompletedSynchronously, see System.IAsyncResult.

  4. The application thread will not be used by the UCMA 2.0 Core SDK to perform internal operations that take a long time.