互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。
基于上面的特点,互斥锁一般用于控制一段临界代码,当然信号量也可以做到。但是如果释放和获取不在一个函数中甚至不在一个线程中时就必须使用信号量了
信号量的特点:对一个进程加锁,可以不断加锁,设置一个标记a=0,a++.解锁的时候a--,当a==0时可以继续进行,PV信号量操作。 应用场景:生产者-消费者的例子,使用场景:操作系统分配多个打印任务时 互斥锁:当一个进程把持资源时,其他进程不能访问此资源,此特性代表了此资源一次只能被一个进程利用,使用场景:文本的写入
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题