进程间通信
文章平均质量分 76
KFPA
从事软件开发工作
展开
-
C++中进程间相互通信的十一种方法
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的原创 2017-04-19 15:53:31 · 4966 阅读 · 0 评论 -
进程之间的通信-命名管道
要点:1、可以实现跨网络之间的进程的通信。2、客户端既可以接收数据也可以发送数据,服务端也是既可以接收数据,又可以发送数据的。3、相比socket,命名管道实现较为简单。但是模块间耦合性较高?(这个如何理解)4、命名管道是半双工?还是全双工?这个问题需要确认下。5、一个命名管道的所有实例共享一个管道名,但是每一个实例均拥有独立的缓存与句柄。并且在客户——服务通信提供有一个分离的转载 2017-04-26 11:49:30 · 570 阅读 · 0 评论 -
进程之间的通信-剪切板
要点总结:1、剪切板是操作系统维护的一块内存区域,本机所有进程都可以访问。2、剪切板内存从哪里来?不是一开机就分配的,是程序要将数据放入剪切板时分配内存的。3、但:malloc和 new内存是在当前进程的私有地址空间中分配内存,并不能被所有进程共享。4、所有:用GlobalAlloc分配内存,此内存不为任一进程私有,而是由操作系统管理。5、特点:只能用于本地进程间通信。转载 2017-04-26 11:46:55 · 934 阅读 · 0 评论 -
进程之间的通信-邮槽实现
要点:1、一种可以实现本地进程与远程进程通信的方式,比socket实现更简单。2、服务端是创建油槽的那一端,客户端用CreateFile来打开创建好的油槽。3、油槽是单向的,服务端只接收,客户端只发送。引子前面的一篇博文介绍了进程之间通信的一种最为简单的方式,也就是在本地进程之间通过剪贴板来实现进程间通信,而剪贴板自有其缺陷,很显转载 2017-04-27 08:49:37 · 620 阅读 · 0 评论