c/c++笔记
文章平均质量分 78
三月的太阳
爱生活
展开
-
读写锁
读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态 读写锁特性: 读写锁是“写模式加锁”时, 解锁前,所有对该锁加锁的线程都会被阻塞。 读写锁是“读模式加锁”时, 如果线程以读模式对其加锁会成功...原创 2018-04-01 21:13:53 · 4614 阅读 · 0 评论 -
互斥量mutex
Linux中提供一把互斥锁mutex(也称之为互斥量)。 每个线程在对资源操作前都尝试先加锁,成功加锁才能操作,操作结束解锁。 资源还是共享的,线程间也还是竞争的,但通过“锁”就将资源的访问变成互斥操作,而后与时间有关的错误也不会再产生了。 但,应注意:同一时刻,只能有一个线程持有该锁。 当A线程对某个全局变量加锁访问,B在访问前尝试加锁,拿不到锁,B阻塞。C线程不去加...原创 2018-04-01 15:43:33 · 250 阅读 · 0 评论 -
条件变量
条件变量: 条件变量本身不是锁!但它也可以造成线程阻塞。通常与互斥锁配合使用。给多线程提供一个会合的场所。为什么有锁了还要条件变量? 主要应用函数: pthread_cond_init函数 pthread_cond_destroy函数 pthread_cond_wait函数 pthread_cond_timedwait函数 pthread_cond...原创 2018-04-02 20:05:36 · 115 阅读 · 0 评论