简记:关于windows各种进程间通信方式的对比(下)。。。

简介: 上下之间拖了好几天。。我觉得以后我做事情,都应该尽量把事情收个结尾,否则这次放下的事情,就不知道什么时候才能再拾起来。

上下之间拖了好几天。。我觉得以后我做事情,都应该尽量把事情收个结尾,否则这次放下的事情,就不知道什么时候才能再拾起来。。即使勉强拾起来了。也是显得文不答意,失去了本来的目的。。

 

    开始本来以为除了上面四种方式之外,应该没有什么好用的进程见通信方式了。。可刚才我翻了翻资料,发现我错了。至少有三种常用,或者是曾经常用的方式,我没有列入其中:SIGINT方式。。邮槽。。还有DCOM通信模式。。

    SIGINT属于比较早的版本。。在MSDN里面明确说明,在所有WIN32系统中已经不被支持。据说在16位系统中常用。我猜测使用方法应该类似与共享内存,但应该比共享内存要简单一些。

    邮槽类似与命名管道。但是操作起来要简单的多,缺点是无法进行双工通信,通信方式为同步通信,貌似无法进行异步处理。这个我以前也是从来没有用过,在使用的时候没有想到无法双工这一回事。愣是以为我的代码哪里有问题。调试了很久才反应过来。

   DCOM通信我没有代码实现。。很早就知道COM/DCOM这东西功能有点强大。但无奈我没有写过DCOM组件。一开始还真的不知道如何下手。好在我最近正在找一种应用层监控进程的办法,貌似会用到COM。等做完这一个东西,也许会回来考虑这个DCOM进程间通信的小问题。。不晓得这算不算懈怠。

    我眼中的完美线程间通信:
    1、双方都无需等待。当一方有消息产生时会自动通知另一方来接收。

    2、数据通信过程为瞬传过程。即无需人为的循环等待另一方返回。

    3、保证数据传输质量。

    可惜,上面所列的所有通信方式,貌似没有一种方式能够做到。我想的另一种方式:在共享内存里面放置一块函数体。两个进程同时将这个函数体映射入自身内存。由这个函数体来完成进程间通信的方式。但是在试验中,才发现,这种方式在数据访问,还有同步的问题上。存在很大的问题。。无奈鄙视一下自己的无知。。先把问题放在一边。等待哪天开窍了,再返回来考虑罢。。。。

 

目录
相关文章
|
分布式计算 应用服务中间件 数据库
Windows技术篇——进程、线程、消息机制进程间通信
Windows技术篇——进程、线程、消息机制进程间通信
191 0
|
Windows
Qt之进程间通信(Windows消息)
简述 通过上一节的了解,我们可以看出进程通信的方式很多,今天分享下如何利用Windows消息机制来进行不同进程间的通信。 简述 效果 发送消息 自定义类型与接收窗体 发送数据 接收消息 设置标题 重写nativeEvent 更多参考 效果 发送消息 自定义类型与接收窗体 包含所需库,定义发送的自定义类型、接收消息的窗体标
1461 0
|
Unix API 开发者
Windows进程间通信的各种方法
原文:Windows进程间通信的各种方法进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。
1839 0
|
Unix API 数据格式
windows进程间通信 .
<div style="padding-bottom:0px; overflow-y:auto; margin:5px; padding-left:0px; padding-right:0px; word-wrap:break-word; padding-top:0px"> <p><span style="font-size:9pt"><strong><span style="font-
1719 0
|
API 数据格式 开发者
<转>windows下进程间通信的方式
1 进程与进程通信    进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。
1044 0
|
分布式数据库 API Windows
20、Windows API 进程间通信,邮槽(Mailslot)
    进程的地址空间是私有的。出于安全性的目的,如果一个进程不具有特殊的权限,是无法访问另外一个进程的内存空间的,也无法知道内存中保存的数据的意义。但是在一些具体的应用情况下需要多个进行相互配合,有时计算机用户也需要在多个应用程序之间交换数据。
1180 0

相关课程

更多