开发者社区> :br阶乘> 正文

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

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

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

 

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

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

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

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

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

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

    3、保证数据传输质量。

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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《UNIX网络编程 卷2:进程间通信(第2版)》——1.8 书中IPC例子索引表
生产者-消费者:一个或多个线程或进程(生产者)把数据放到一个共享缓冲区中,另有一个或多个线程或进程(消费者)对该共享缓冲区中的数据进行操作。序列号持续增1:一个或多个线程或进程给一个共享的序列号持续增1。该序列号有时在一个共享文件中,有时在共享内存区中。
1136 0
【windows】windows系统下,在任务管理器的进程选项卡中查看PID/任务管理器怎么查看PID
PID,就是windows上的进程ID,是一个进程的唯一标识值。   那今天启动JDK跑起来一个项目之后,想要在任务管理器中查看这个JDK所在进程的PID但是看不到。 怎么解决?   1.我在任务管理器的服务中查看上面PID 但是排序之后最大值才是7000多     2.
1164 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29411 0
Qt之进程间通信(Windows消息)
简述 通过上一节的了解,我们可以看出进程通信的方式很多,今天分享下如何利用Windows消息机制来进行不同进程间的通信。 简述 效果 发送消息 自定义类型与接收窗体 发送数据 接收消息 设置标题 重写nativeEvent 更多参考 效果 发送消息 自定义类型与接收窗体 包含所需库,定义发送的自定义类型、接收消息的窗体标
1174 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20843 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23607 0
windows下bat批处理实现守护进程
本文转自网络,由于找不到原作者,因而无法知道出处。如果有幸让原作者看到,请联系我加上。先转载至此。 最近几天加班加疯掉了,天天晚上没法睡。开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服务的安全级别又很高,只有我可以操作,搞得我晚上老没法睡,昨晚实在受不了了,想起以前在hp-ux下写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了个兄弟让他写了,上去后运行效果不错,至少昨晚我安心睡了7小时。
561 0
+关注
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载