QReadWriteLock 这个允许多个进程同时读,但是只有一个写。而且写读不能同时进行。 文档里语焉不详,这是我自己的理解: lockForWrite 为写而锁,就是要修改数据,外人连想进来读数据都不行,完全霸占数据使用权。 lockForRead 为读而锁,就是在读取数据期间不要被修改,但是别人也要求来读数据的话,则不拒绝。但是别人来改数据,那就等我读完数据以后再说。 QReadWriteLock lock; void write() { lock.lockForWrite();//为写而锁 .......... lock.unlock();//解锁 } void read() { lock.lockForRead();//为读而锁 .............. lock.unlock();//解锁 }