If you aren't storing your threads when you create them - you can ask the ThreadGroup they're in, for all of its Threads, and then look for the specific thread by iterating and asking thread.getName() for each.
Here's a description of how to find all threads in your app, if you don't even have the ThreadGroup handy:
http://jug.org.ua/wiki/display/JavaAlmanac/Listing+All+Running+Threads
Grant
> A thread name doesn't have to be unique?
True - but if I'm writing code that depends on a Thread's name, then I can arrange for them to be so. In fact, I may even rely on the non-uniqueness, so I can use the examine-all-threads process to interrupt an entire class of threads.
Although I think that holding onto Thread references and just whacking the one you want is probably the right answer for the OP...
G