多数情况下,包括主线程和若干工作线程在内的多个线程,以异步的方式工作,即借助基于时间片的调度策略,在操作系统的统一指挥下,彼此独立地运行。但在某些时候,一个线程可能需要暂时停下来,等一等另一个线程先执行某个操作,然后再继续运行。这种线程之间的停——等机制,称为线程同步。
Qt为线程同步提供了以下几个类:
QMutex:互斥体。人锁我等,我锁人等
QReadWriteLock:读写锁。读锁共享,写锁独占
QWaitCondition:等待条件。等待到条件满足
QSemaphore:信号量。有余则取,不足则等