Instapaper is great for this type of thing: http://instapaper.com./
Slashdot videos: Now with more Slashdot!
Then apparently you haven't studied it enough. We're not talking about cooperative multi-threading. A true, honest to God thread gets spawned to handled these requests. "Cooperative multithreading" is the practice of scheduling processing and voluntarily using a limited amount of time for each turn. That's feasible without Gears or HTML5, but it's not what the XMLHttpRequest object does.
I think you guys are both missing the point. Asynchronous means asynchronous. That's it. It doesn't imply preemptive threading, and it doesn't imply cooperative threading. It just means asynchronous. Asynrchonousity can be implemented many ways. You could have one thread per asynrchonous call, or one thread for all asynchronous calls, or kernel support, it's really depends on the design and implementation of the library/API. They all have trade offs. You're both right, and you're both wrong. "Multi-threaded" isn't a feature. "Responsive" is a feature and there are many ways to get there, and that they're stable, and perform well is what really matters.