

P操作减1,如果semV操作相反,信号值加1,如果sem
看个例子,



上图,这个和lock锁不一样,lock只允许一个,这个可以允许多个。

上图,这个时候信号量已经不够,新来的来车只能等待。直到一个列车离开了临界区,会执行一个V操作。(进入临界区会执行一个P操作)



文章介绍了信号量在多线程环境中的使用,P操作用于减信号量,可能导致线程等待,而V操作则增加信号量,释放等待的线程。与互斥锁不同,信号量能允许多个线程同时访问,只有当信号量不足以满足新的请求时,才会阻塞。当一个线程离开临界区,执行V操作,释放资源,让其他等待的线程有机会进入。


P操作减1,如果semV操作相反,信号值加1,如果sem
看个例子,



上图,这个和lock锁不一样,lock只允许一个,这个可以允许多个。

上图,这个时候信号量已经不够,新来的来车只能等待。直到一个列车离开了临界区,会执行一个V操作。(进入临界区会执行一个P操作)




被折叠的 条评论
为什么被折叠?