linux 中P V *** 作是

linux 中P V *** 作是,第1张

p V *** 作是关于互斥信号量的 *** 作

是关于进程同步问题所用到的。

应该选D

不过这题有点弱,A也说得过去,无所谓高级低级

解释一下

信号量其实是一个变量,由信号量保护共享资源。

信号量在创建的时候要设一个初始值

表示同时有几个任务可以访问信号量所保护的资源。

初始值为1就变成了互斥(MUTEX)

即 同时只有一个任务可以访问。

简单说 P *** 作就是如果信号量大于1,再把信号量减1。

v *** 作就是把信号量自增1。

运用:

需要访问信号量所保护的共享资源时

调用P,

结束访问时

调用V。

这样,就实现了对共享资源的保护。

呵呵,复习了一下。

信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。

而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁, *** 作完了,在解锁。

有的时候锁和信号量会同时使用的。我记得以前做的一个项目就是既有semtake,又有lock。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8995611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存