You'll need some synchronization mechanism if you want to use multiple threads when working on the model like that. But I'd suggest using signals and slots for updating the model.

Take a look here: http://blog.wysota.eu.org/index.php/...remote-models/

It deals with a similar problem (updating the model on the fly).