QT原子操作QAtomic API和锁QMutex

来源:互联网 发布:ibatis 打印sql语句 编辑:程序博客网 时间:2024/06/01 08:55

锁的缺点:

在多线程程序中,需要访问共享数据时,我们一般使用“锁”来保证数据的完整性。假设一个线程获取了一个信号量mutex开始访问共享数据。这时,其他的线程必须阻塞直到这个信号量被释放。这确实保证了完整性。当从操作系统的线程调度来看,当一个线程被阻塞了,线程调度会切换到其他线程。因为CPU的缓存是有限的,当发生“缓存命中”失败时,会进行“上下文切换”,这势必增加了系统的负担,降低了系统的吞吐量。

原创粉丝点击