您的位置:首页 > 编程语言

unix编程——通信总结

2012-02-21 16:43 134 查看
信号量、互斥锁和条件变量之间的差异

1、互斥锁必须总是由给它上锁的线程解锁,信号量的挂出(V操作)却不必由执行过它的等待(P操作)的同一线程执行。

2、互斥锁要么被锁住,要么被解开。

3、信号量有一个与之关联的状态(计数值),那么信号量的挂出操作总是被记住。然而当向一个条件变量发送信号时,如果没有线程等待该条件,那么信号将会丢失。

Posix提供互斥锁和条件变量,同时又提供信号量的原因是:通常互斥锁和条件变量应用于线程间同步,信号量应用于进程间同步,但是他们也都可以应用于进程和线程同步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐