Appreciate all the responses. Since the initial reply here, I've done some
more reading, (threading seems to be the last huge hole in my programming
vocabulary -- there are many other little ones yet

and it's making more
sense now. I've found some examples of using monitoring to enforce single
access to the data, which isn't affected at all by static methods of strings.
(It didn't seem to be affecting anything before, I just really worried about
it because I was told the wrong thing before -- we've all had code that was
working sort of even though we knew it wasn't done correctly I'm sure, and
that's what I thought mine was. Turns out it was ok afterall.)
Thanks again folks.