Yep, all you need to do is output everything you want sent to the user before starting the update, and then go flush() just to make it clear that it should all be sent. They'll get the entire page rendered and will be free to continue elsewhere while you continue with your caching. At least, that's my understanding of the process.
There's no "disconnect" as such, because http is a connectionless protocol.