I understand that each and every object in the ArcGIS.Core.Data lives on the MCT and therefore has to be used within QueuedTask.Run(..) scope. This makes ArcGIS Pro actually to kind of a single threaded application, as soon as it comes to data access.
While looking through the community samples, I stumbled across arcgis-pro-sdk-community-samples/CoreHost/CoreHostSample at master · Esri/arcgis-pro-sdk-community-samples · GitHub where the Geodatabase-Object is used in the main thread (being an STA Thread), without QueuedTask.
This led me to the first question / test program: What happens, if the geodatabase object is instantiated and used in one background thread? Seems to work fine.
Second question / test program: What happens, if two geodatabase objects are created in two different (STA-) threads and some work is done on different tables? Seems to work fine.
Question is: Is this supported in any way? I do understand, that I will run into problems as soon as I try to pass objects from one thread to another. Updating data might also become critical, as there might be no synchronization context. But if I stay in a read-only context, is it ok to create "my own" geodatabase object in "my own" thread?
Kind Regards
Jens