首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >线程通信与进程通信

线程通信与进程通信
EN

Stack Overflow用户
提问于 2012-03-30 15:52:58
回答 3查看 6.1K关注 1票数 3

谁能解释一下线程通信和进程通信之间的区别,并给出每种通信类型的几个例子?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-30 15:56:13

线程通信可以像共享变量或对象一样简单,记住同步是必需的。进程间的通信比较困难,速度也慢得多,因为进程是分开的,不能干预。对于这种类型的通信,您可以使用命名管道、内存映射文件、msmq、TCP、WCF、文件系统和其他。

票数 5
EN

Stack Overflow用户

发布于 2016-04-18 21:49:29

线程共享相同的内存。因此,与进程通信相比,通信速度要快得多。进程使用共享内存、管道和消息队列进行通信。

票数 4
EN

Stack Overflow用户

发布于 2021-06-26 22:20:37

一个进程中只有一个堆,一个进程中的所有线程都共享该堆。因此,当在进程的线程内通信时,同步是关键。在线程中,人们可以通过以下方式进行通信:

  • 共享内存:创建共享内存缓冲池,您可以使用Unix域套接字发送有关何时读/写数据的即时消息/通知。(只需将case)
  • Conditional变量与互斥锁结合使用(作为c++程序员,我喜欢这种方法)

但是,由于进程有自己的边界,因此通信方式通常是:

  • 套接字、文件、管道和消息队列。
  • 共享内存:这是不同的,因为此内存不是在进程边界内分配的,这与线程不同。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9938996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档