I've not used Threads with DBI, however, from whatever threads i've used so far,
I've always found it useful to use threads with semaphore and control the
number of threads accessing a particular subroutine.
Also be careful of using threads on windows box with multiple CPUs. You also have to be careful
about the memory used by threads!