多线程命名管道通信的设计
来源:互联网 发布:3m淘宝官方旗舰店 编辑:程序博客网 时间:2024/05/21 16:22
转载自: http://www.cnblogs.com/xinhaijulan/archive/2010/07/28/1786535.html
多线程命名管道通信的设计:
命名管道是进程间通信的一种方式,管道分为2种:匿名管道(Anonymous Pipe)和命名管道(Named Pipe)。
这里主要介绍多线程命名管道。
服务端设计如下图:
客户端设计如下图:
服务端采用阻塞模式等待客户端的连接,客户端采用多个线程对管道进行数据读写。
因客户端采用多个线程对管道进行读写,故一个线程读取的数据可能并不是此线程写入数据后,服务端读取此线程刚写入的数据后再写入的数据。
也就是客户端多个线程写入与读取的数据可能会串,此理论已经过测试,为解决此问题,可以在客户端写入数据时加标识,服务端读取数据后,再写入的数据带上此标识,客户端读取时可根据此标识来判断是否是写入数据后服务端返回的消息。
以上设计可支持多个客户端多个线程同时对管道进行读写。
此文并没有对命名管道概念进行过多的解释,需要对概念进行了解的,可查看帮助文档。
此文只进行设计,下篇将进行多线程命名管道通信的实现,敬请期待。
下篇地址:<<多线程命名管道通信的实现>>
- 多线程命名管道通信的设计
- 多线程命名管道通信的设计
- 多线程命名管道通信的实现
- 命名管道的通信方式
- VC命名管道通信的实现
- 命名管道通信的实现,转。
- VC命名管道通信的实现
- 命名管道--简单的客户服务器通信
- VC命名管道通信的实现
- 进程之间的通信-命名管道
- Windows进程间的通信-命名管道
- 多线程编程实例----进程通信之命名管道
- VC命名管道通信的实现——最终自己的设计中没用VC
- 命名管道进程通信
- C# 命名管道通信
- 多线程命名管道
- Windows上的多线程管道通信
- 命名管道(FIFO) Linux进程进程间的通信之命名管道(FIFO)
- Android Matrix
- Inno Setup Compiler卸载时删除注册表
- Eclipse高效开发必会12个小技巧
- android数据库事务!!!!!!!!!!!!!!!!!!!!!!!!!!
- 虚函数\纯虚函数
- 多线程命名管道通信的设计
- 三.redis 排序
- smarty变量调节器
- php中设置错误报告级别error_reporting()
- JSP九大隐式对象
- PhoneGap系列专题之一:架构基础及工作原理介绍
- Compile C/C++ In Eclipse for Android
- 关于SIGPIPE导致的程序退出
- centos更改端口,查看IP和网络设置,更改权限等操作