Which Handles are Free-Threaded?
The following table lists what Figaro handles are free-threaded.
|Figaro Object||Free Threaded?|
- Free-threaded so long as the Thread flag is provided to the Open(String, EnvOpenOptions) method.
- Implemented by your application, so whether this class can be shared across multiple threads is up to your local implementation.
- If ResolveExternalFunction(XmlTransaction, XmlManager, String, String, UInt64) returns a new object, then it is not free-threaded. However, if the application is multi-threaded and ResolveExternalFunction(XmlTransaction, XmlManager, String, String, UInt64) returns a shared instance, then it is free-threaded.
- If an application uses multiple threads, custom implementations of XQueryResolver must be free threaded to allow multiple, simultaneous calls for resolution.
- Access must be serialized by the application across threads of control.
- Open(String, EnvOpenOptions)
- ResolveExternalFunction(XmlTransaction, XmlManager, String, String, UInt64)