An Asynchronous HTTP Client
The asyncore socket framework can be used to issue multiple HTTP requests at once, and handle incoming responses as they arrive.
For more information, and a sample implementation, see Building an RSS Newsreader, Part 1.
The effbot.org library contains an enhanced implementation, which includes support for HTTP 1.1 chunking and GZIP compression.