unix编程——通信总结
2012-02-21 16:43
134 查看
信号量、互斥锁和条件变量之间的差异
1、互斥锁必须总是由给它上锁的线程解锁,信号量的挂出(V操作)却不必由执行过它的等待(P操作)的同一线程执行。
2、互斥锁要么被锁住,要么被解开。
3、信号量有一个与之关联的状态(计数值),那么信号量的挂出操作总是被记住。然而当向一个条件变量发送信号时,如果没有线程等待该条件,那么信号将会丢失。
Posix提供互斥锁和条件变量,同时又提供信号量的原因是:通常互斥锁和条件变量应用于线程间同步,信号量应用于进程间同步,但是他们也都可以应用于进程和线程同步。
1、互斥锁必须总是由给它上锁的线程解锁,信号量的挂出(V操作)却不必由执行过它的等待(P操作)的同一线程执行。
2、互斥锁要么被锁住,要么被解开。
3、信号量有一个与之关联的状态(计数值),那么信号量的挂出操作总是被记住。然而当向一个条件变量发送信号时,如果没有线程等待该条件,那么信号将会丢失。
Posix提供互斥锁和条件变量,同时又提供信号量的原因是:通常互斥锁和条件变量应用于线程间同步,信号量应用于进程间同步,但是他们也都可以应用于进程和线程同步。
相关文章推荐
- UNIX环境高级编程——进程管理和通信(总结)
- Linux C语言编程-Linux网络通信--Linux上使用curl来发送Http协议的报文---知识点总结+实例d
- WebShpere MQ 网络通信编程总结
- UNIX环境高级编程学习之第十五章进程间通信 - 通过半双工匿名管道实现父子进程通信
- ios调用unix 网络编程的socket 接口实行UDP通信, 锁屏后解屏会闪退的解决方法
- UNIX环境高级编程学习之第十六章网络IPC:套接字 - 非阻塞的Socket通信Select模型(多路复用), 实用Socket通信模板。
- UNIX环境高级编程--第9章总结
- unix线程通信方式总结
- unix环境编程 UDP通信
- UNIX环境高级编程学习之第十五章进程间通信 - 两个进程通过映射普通文件实现共享内存通信
- 黑马程序员--网络通信UDP编程的总结及部分知识点查询
- UNIX环境高级编程--第一章总结
- UNIX环境高级编程--第七章进程环境总结
- linux/unix 环境编程-基本I/O总结
- UNIX环境高级编程学习之第十六章网络IPC:套接字 - 非阻塞的Socket通信EPoll模型(多路复用), 实用Socket通信模板
- Linux C语言编程-Linux网络通信--Linux上使用套接字(socket)来发送信息---知识点总结+实例
- <<UNIX环境高级编程>>学习总结——第一章:UNIX基础知识
- <<UNIX环境高级编程>>学习总结——第二章:UNIX标准化及实现
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- Symbian编程总结-网络与通信-套接字(1)-套接字体系结构与相关API