Quote Originally Posted by Shaggy Hiker View Post

As for the threading, what you are describing is not inherently thread safe, but the way you say you are using it will make it effectively thread safe. The objects are not tied to a thread, but if each thread works with one and only one of the objects, then, by your design, no two threads will ever be running the same code segment. This will not be true if you have shared methods in those objects, since shared methods are not specific to any one object, but otherwise each one will be isolated. You could have trouble if thread A creates a dbOps and ANY other thread is able to call methods against that instance, but you stated that you were not doing that, so you should be fine.

Maybe I should ask the question is it better to have one dbops class that all the threads call common code (using synclock) or to keep it the way I have it?