• 进程间通信--POSIX消息队列

    时间:2023-12-29 11:08:33

    相关函数: mqd_t mq_open(const char *name, int oflag); mqd_t mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); mqd_t mq_receive...

  • Unix网络编程--卷二:进程间通信

    时间:2023-12-28 10:30:01

    Unix网络编程--卷二:进程间通信本书是一部Unix网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机网络应用程序的必要条件。本书从对Posix IPC和System V IPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(...

  • Linux进程间通信——使用共享内存

    时间:2023-12-28 08:43:17

    一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由...

  • Python之网路编程之-互斥锁与进程间的通信(IPC)及生产者消费者模型

    时间:2023-12-15 16:41:10

    一、互斥锁进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理。注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行的修改,没错,速度是慢了,牺牲了速度而保证了数据安全。1.上厕所的小例子:你上厕所的时候肯定得锁门吧,有...

  • Windows进程间共享内存通信实例

    时间:2023-12-14 13:03:13

    Windows进程间共享内存通信实例抄抄补补整出来采用内存映射文件实现WIN32进程间的通讯:Windows中的内存映射文件的机制为我们高效地操作文件提供了一种途径,它允许我们在WIN32进程中保留一段内存区域,把硬盘或页文件上的目标文件映射到这段虚拟内存中。注意:在程序实现中必须考虑各进程之间的同...

  • Linux进程间通信-消息队列(mqueue)

    时间:2023-12-09 21:14:19

    前面两篇文章分解介绍了匿名管道和命名管道方式的进程间通信,本文将介绍Linux消息队列(posix)的通信机制和特点。1、消息队列消息队列的实现分为两种,一种为System V的消息队列,一种是Posix消息队列;这篇文章将主要围绕Posix消息队列介绍;消息队列可以认为是一个消息链表,某个进程往一...

  • python并发编程-进程间通信-Queue队列使用-生产者消费者模型-线程理论-创建及对象属性方法-线程互斥锁-守护线程-02

    时间:2023-12-05 23:05:08

    目录进程补充进程通信前言Queue队列的基本使用通过Queue队列实现进程间通信(IPC机制)生产者消费者模型以做包子买包子为例实现当包子卖完了停止消费行为方式一方式二线程什么是线程为什么要有线程开进程开线程开启线程的两种方式方式一方式二线程之间数据共享线程对象的其他属性和方法守护线程主线程运行结束...

  • 进程间通信七 (socket)

    时间:2023-12-05 22:20:24

    copyright:weishusheng          data:2015.5.26             摘要:socket又叫套接字或者插口,它也是进程间通信的一种方式,实际上就是网络上的通信节点,应用程序只需要链接到socket就可以和网络上任何一个通信端点连接、传送数据。socket...

  • Unix/Linux进程间通信(二):匿名管道、有名管道 pipe()、mkfifo()

    时间:2023-12-02 19:03:06

    1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的...

  • Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)

    时间:2023-12-02 18:59:53

    整理自网络Unix IPC包括:管道(pipe)、命名管道(FIFO)与信号(Signal)管道(pipe)管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;实现机制:管道是由内核管理的一个缓冲区,相当于我们放入内存...

  • 输入系统:进程间双向通信(socketpair+binder)

    时间:2023-11-29 23:43:14

    一、双向通信(socketpair)socketpair()函数用于创建一对无名的、相互连接的套接子,如果函数成功,则返回0,创建好的套接字分别是sv[0]和sv[1];否则返回-1,错误码保存于errno中。socketpair()函数的声明: #include <sys/types....

  • Linux环境进程间通信: 共享内存

    时间:2023-11-29 09:36:17

    Linux环境进程间通信: 共享内存第一部分共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步...

  • c/c++ linux 进程间通信系列6,使用消息队列(message queue)

    时间:2023-11-29 09:24:09

    linux 进程间通信系列6,使用消息队列(message queue)概念:消息排队,先进先出(FIFO),消息一旦出队,就从队列里消失了。1,创建消息队列(message queue)2,写消息到消息队列(message queue)3,从消息队列(message queue)读消息3,删除消息...

  • 进程间通信机制(管道、信号、共享内存/信号量/消息队列)、线程间通信机制(互斥锁、条件变量、posix匿名信号量)

    时间:2023-11-29 09:17:08

    注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料。此书出版较早...

  • Linux 进程间通信(管道、共享内存、消息队列、信号量)

    时间:2023-11-29 09:05:33

           进程通信 : 不同进程之间传播或交换信息   为什么要进程通信呢? 协同运行,项目模块化 通信原理 : 给多个进程提供一个都能访问到的缓冲区。根据使用场景,我们能划分为以下几种通信 :1.管道(匿名管道、命名管道)因为是半双工通信(单向传递信息),所以叫"管道"。原理是在内核中创建一个...

  • python 并发编程 锁 / 信号量 / 事件 / 队列(进程间通信(IPC)) /生产者消费者模式

    时间:2023-11-27 18:26:32

    (1)锁:进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理。虽然使用加锁的形式实现了顺序的执行,但是程序又重新变成串行了,这样确实会浪费了时间,却保证了数据的安全。(Lock)impor...

  • Linux-进程间通信(N): 各种IPC的使用场景

    时间:2023-11-26 14:45:23

    1. 管道:只能用于具有亲缘关系的进行通信,使用面相对较窄,实际开发中较少使用;2. FIFO(命名管道):可以用于任意进程间的通信,对于大块数据的传输效率较高,可应用于单进程大量数据传递,和多个进程向一个进程传递数据;3. 信号:无法传递数据,而且信号的种类有限,只适用于完成一些简单的事件通知任务...

  • Linux进程间通信机制

    时间:2023-11-22 10:57:42

    Linux支持管道、信号、unix system V三种IPC(Inter-Process-Communication)机制。以下分别对三种机制加以简单介绍。一、信号机制:信号又称作软中断,用来通知进程发生了异步事件;主要用于向一个或多个进程发异步事件信号,信号可以通过键盘中断触发、当进程访问虚拟内...

  • Linux进程间通信IPC学习笔记之有名管道

    时间:2023-11-15 21:24:22

    基础知识:有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版。使用其应注意两点:1)有一个与路径名关联的名字;2)允许无亲缘关系的进程通信;3)读写操作用read和write函数;4)有open打开有名管道时,...

  • c# 进程间通信 IPC

    时间:2023-11-13 15:01:36

    最近在调试一个算法,想通过改变算法的参数看看结果有什么变化。 碰到一个麻烦的事情是,从磁盘加载、构建数据需要15分钟。这就比较讨厌了,也就是说我每次调一个参数前都要等15分钟启动时间?于是我就想,能不能开一个datahost进程专门加载数据。我在别的进程调试参数,但需要用数据时就直接从datahos...