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

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

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

 

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

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

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

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

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

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

    3、保证数据传输质量。

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

 

目录
相关文章
|
应用服务中间件 nginx Windows
windows下DOS命令杀掉Nginx应用进程
windows下DOS命令杀掉Nginx应用进程
271 1
|
Windows
windows环境下根据端口号查询进程编号并杀掉此进程
windows环境下根据端口号查询进程编号并杀掉此进程
157 0
|
存储 Cloud Native Linux
windows检测进程是否存在?强制杀死进程
windows检测进程是否存在?强制杀死进程
|
Windows
Windows查看端口占用以及关闭相应的进程
Windows查看端口占用以及关闭相应的进程
590 0
|
Linux Windows
Centos和Windows进程相关命令
Centos 杀死同名的全部进程命令:ps -efww|grep 进程名 |grep -v grep|cut -c 9-15|xargs kill -9 Centos 查看同名的全部进程数命令:ps -ef | grep 进程名 | wc -l Windows杀死同名进程命令:taskkill /F /IM chrome.exe Windows查看同名进程命令:tasklist /fi "...
150 0
|
API C++ Windows
[笔记]Windows核心编程《三》进程
[笔记]Windows核心编程《三》进程
190 0
|
9月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
696 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
Windows
windows windows10 查看进程的命令行
windows windows10 查看进程的命令行
134 0
|
12月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
169 1
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
175 1