Only thing for you to decide is whether 'default' SQL session is really 'global' (single one in the process), or you have an option to have SQL per-thread. By SQL in this paragraph I mean 'SQL default session object'.
Note that even if you opt for single global SQL, multithreading is still a go. You can either open other session in thread, or you can even use that single global SQL, but need to mutex it.