Java threads work just fine. I have used them in a situation similar to this to make real-time "availability" queries to various sources and combine the input to present the available products back to a user.
Update: Edited title to remove the suffix "(preferably Perl)" (after OP was edited?) - apparently Java is either not construed as a technology or I'm lying. Go figure.