"join" isn't necessary unless you need to output info to the page after threads complete.
Threads will queue; this varies by the version of ColdFusion you're running.
For what you're doing however, threads aren't what you want. You want to use a message queue, like ActiveMQ or Amazon SQS. You can use an event gateway like the ActiveMQ gateway that comes with Adobe CF, or write your own if you're working with a different message queue or CF engine. (For example, I wrote a messaging system that uses Amazon SQS and Railo event gateways, written in CFML)