线程同步
2021-11-12 本文已影响0人
不ji的石头
- 互斥锁
优点:使用简单。
缺点:并发量低,性能差。
-
读写锁
1.适用于对数据结构的毒操作次数多于写操作次数的场合。
2.处于写锁定的状态,试图加锁的线程都会阻塞;
3.处于读锁定的状态,可以继续加读锁,但是不能加写锁;
4.但是有时候避免长时间的读操作导致写操作饥饿,会优先处理写操作。
-
整型信号量
互斥锁只允许一个线程进入临界区,信号量允许多个线程同时进入临界区
互斥锁使用对同一个资源的互斥的方式达到线程同步的目的,信号量可以同步多个资源以达到线程同步,相当于一个计数器。
- 记录型信号量
当线程在等待某些满足条件时使用block原语使线程进入睡眠状态,一旦条件满足,就使用wakeup原语唤醒线程,这样不会占用互斥锁,提高资源利用率。