Is it possible to load one DLL multiple times into the same process, but under different base addresses

We have a DLL that is not multi-threaded safe because it operates on some global data in its .data section. Hence, we would like to load multiple copies of the DLL so we can make multi-thread calls to it. I understand due to the Windows paging mechanism, there would be very physical little memory wasted (only for PTEs or what not). Just the virtual address space will get bloaded, but we don't plan to load it more than 4-5 times.

Is this possible