Linux 多进程通信系列
并行开发是编程领域的一个难点,无论是 C/C++、JAVA、Python 或者其它,本专栏从最基础的进程通信概念讲起,介绍了 linux 下进程的创建、管道、消息队列、信号量、共享内存、Socket 的基本用法,通俗易懂,代码可用,特别适合新手
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
frank909
爱阅读的程序员,专注于技术思考和分享。关注架构设计、Android 开发、AI、数学、自动驾驶领域,个人公号:Frankcall
展开
-
Linux 多进程通信开发(八): unix domain socket 之 TCP 通信
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面的文章一系列文章有介绍了 linux 下常见的 IPC 机制,如管道、消息队列、信号量、共享内存。之前有讲到共享内存是最高效的 IPC 方式,但是在 linux 环境下,应用最广泛的可能是 Socket。什么是 Unix Domain Socket ?S...原创 2019-04-21 17:19:24 · 4969 阅读 · 0 评论 -
Linux 多进程通信开发(七): unix domain socket 之 UDP 通信
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面的文章一系列文章有介绍了 linux 下常见的 IPC 机制,如管道、消息队列、信号量、共享内存。之前有讲到共享内存是最高效的 IPC 方式,但是在 linux 环境下,应用最广泛的可能是 Socket。什么是 Unix Domain Socket ?S...原创 2019-04-17 10:30:44 · 8093 阅读 · 0 评论 -
Linux 多进程通信开发(六): 共享内存
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面的文章一系列文章有介绍了 linux 下常见的 IPC 机制,如管道、消息队列、信号量,今天这篇文章介绍一下最核心的机制,那就是共享内存,因为它是最高效的 IPC 方式。什么是共享内存?共享内存其实很容易理解,不同的进程共享一块内存。我们都知道,进程间通...原创 2019-04-10 19:11:37 · 5636 阅读 · 5 评论 -
Linux 多进程通信开发(五): 信号量
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面的文章有介绍了如何利用管道和消息队列进行进程间的通信,但是能够进行 IPC 的方式有很多种,最高效的是共享内存,比较常见的还有 socket,但是在介绍共享内存之前,先介绍本篇文章的主题,那就是信号量。什么是信号量?信号量不是传统意义的信号(signal)...原创 2019-03-31 17:49:21 · 1096 阅读 · 2 评论 -
Linux 多进程通信开发(四): 消息队列
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面的文章有介绍了如何利用管道进行进程间的通信,但是那只适合比较简单的场景,发送一些简单的通知,我只在 Android 的 Framework 源码中见过这么一回。而 Linux 下 IPC 的手段有很多,今天介绍的消息队列就是其中的一种。什么是消息队列?顾名...原创 2019-03-26 14:59:22 · 1538 阅读 · 0 评论 -
Linux 多进程通信开发(三):管道
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。在代码编程过程中,进程之间进行通信是很常见的需求,它有个专业的名词 IPC,能够实现 IPC 的手段有许多,管道(Pipe)是其中一种。本文的示例是用 C++ 编写的,不熟悉 C++ 的同学,用 c 也是可以实现效果的。管道(Pipe)管道的本质是一个文件,...原创 2019-03-21 18:57:29 · 1378 阅读 · 0 评论 -
Linux 多进程通信开发(二):exec 执行新程序
这会是一系列文章,讲解的内容也很简单,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。前面讲过,在 linux 开发中,一般调用 fork 创建新进程后,是为了调用 exec 方法来启动一个新的程序。exec 函数族exec 其实是一个函数族,它有 6 种变换,定义在 <unistd.h>这个头文件当中。#include <...原创 2019-03-18 19:47:08 · 1441 阅读 · 0 评论 -
Linux 多进程通信开发(一):fork 进程
这会是一系列文章,文章的目的是让自己的知识固话和文档化,以备自己不时的复习,同时也希望能够给予初学者一些帮助。进程是操作系统中一个很重要的概念,几乎每一种应用都是单独跑在一个进程当中。我们编译生成的程序一般放在磁盘上,需要运行的时候内核会创建一个进程空间,分配内存,然后分配 ID 号码,再将程序的代码段存放在一个地方,程序中定义的静态变量和全局变量存放在一个地方,动态分配的内存划定在进程的堆,...原创 2019-03-14 17:30:36 · 1799 阅读 · 0 评论