社区
C#
帖子详情
关于多进程之间通讯的问题
wanderfox
2008-07-15 02:07:18
我用vc6和C#开发了两个程序,现在想要在这两个程序之间进行简单的消息传递,请问大家用什么方法比较好?我现在想到的只有通过sockets方法通讯,但总觉得这样效率可能不高。
谢谢
...全文
156
10
打赏
收藏
关于多进程之间通讯的问题
我用vc6和C#开发了两个程序,现在想要在这两个程序之间进行简单的消息传递,请问大家用什么方法比较好?我现在想到的只有通过sockets方法通讯,但总觉得这样效率可能不高。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanderfox
2008-07-15
打赏
举报
回复
我又用VC6从新封装了一遍SendMessage,算是完成任务了,中英文都出来了,但是单纯在C#下发送还是不对。谢谢各位。
老田低代码
2008-07-15
打赏
举报
回复
Socket应该是比较好的方法了,扩展性比较好。。。并且其他的通信方式底层实现估计也是Socket。。。
wanderfox
2008-07-15
打赏
举报
回复
谢谢楼上的各位,我使用SendMessage发送WM_COPYDATA消息实现了,现在又有一个新的问题:我用C#发送一个字符串,但是vc程序得到的结果不正确,请问这可能是什么原因造成的?谢谢
lasery
2008-07-15
打赏
举报
回复
如果只是简单的消息传递的话,我认为用SendMessage, PostMessage不错
zyx_hawk
2008-07-15
打赏
举报
回复
内存共享
其实socket还是不错的,当然采用UDP协议
家鸣
2008-07-15
打赏
举报
回复
进程间的通讯:
1. 内存共享,调用API:CreateFileMapping,MapViewOfFile,OpenFileMapping,UnmapViewOfFile。
2. 窗体消息. 调用API:FindWindow,FindWindowEx, SendMessage, PostMessage.
3. 消息管道(Message Pipe)
注册失败
2008-07-15
打赏
举报
回复
可以使用共享内存块,网上搜索下,很多示例代码
我这里暂时没有代码。。。
简单的消息使用XML也可以,还可以使用操作系统的消息队列
方法多了去了,主要是看哪种适合你
gomoku
2008-07-15
打赏
举报
回复
如果是窗口程序,可以用WM_COPYDATA
sockets方法通讯效率其实不错,扩展性也好。
oldwei9688
2008-07-15
打赏
举报
回复
顶,这个问题也是我目前的疑问~
烈火焚身
2008-07-15
打赏
举报
回复
up
多进程
、多线程
通讯
的方法
当我们在使用系统编程时,就会遇到
多进程
、多线程编程,所以必须知道在多个进程、多个线程
之间
都有什么常见的
通讯
机制,这也是嵌入式面试中的高频
问题
。(高频不高频,我不晓得,大家都这样说,哈哈哈哈)emmm,你应该没有忘记进程和线程的相关知识点吧,可以看一下下面我记的草稿,我也老忘,忘一次记一次。
进程间
通讯
的7种方式
** 1、常见的通信方式 ** 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流...
C++
多进程
之间
通讯
是操作系统分配资源的基本单位,包括代码、数据和系统资源。每个进程都有自己独立的地址空间,因此进程
之间
不能直接访问彼此的内存。:是操作系统能够进行运算调度的最小单位。线程是进程的一个实体,是进程中的实际运行单位,线程拥有自己的堆栈和局部变量。线程
之间
可以直接访问彼此的内存。在 C++ 中,用于创建和管理线程,而不是进程。如果你需要创建进程,你可以使用std::async或者操作系统提供的 API,例如在 Unix 系统上使用fork()函数,或者在 Windows 系统上使用函数。
python使用multiprocessing
多进程
通讯
管道和队列都是有效的进程间通信机制。管道适用于两个进程
之间
直接通信的情况,而队列则更适合多个进程
之间
共享数据,尤其是在数据顺序和安全性方面有较高要求的情况下。选择哪种方法取决于你的具体需求和场景。这两种方法都可以有效地实现多个进程间的简单通信。使用管道的方式更简单直接,适合两个进程
之间
的通信。而使用队列的方式更适合多个进程
之间
的通信,特别是当需要处理多个请求时更为灵活。你可以根据实际情况选择最适合你需求的方法。这两种方法都可以有效地实现进程池中的简单通信。使用管道的方式更简单直接,适合两个进程
之间
的通信。
Python
多进程
multiprocessing 实现进程
通讯
间
通讯
<二>
多进程
Python
多进程
multiprocessing 实现进程
通讯
间
通讯
<一>进程池:https://blog.csdn.net/YMY_mine/article/details/108285674 Python 多线程
之间
共享变量很简单,直接定义全局 global 变量即可。而
多进程
之间
是相互独立的执行单元,这种方法就不可行了。 不过 Python 标准库已经给我们提供了这样的能力,使用起来也很简单。但要分两种情况来看,一种是 Process
多进程
,一种是 Pool 进程池的方式。下面来...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章