网络编程 # notes 要点网络编程 客户端/服务器架构 客户端/服务器网络编程 套接字是计算机网络数据结构。在任何类型的通信开始之前,网络应用程序必须创建套接字。可以将它们比作电话插孔,没有它将无法进行通信。 进程间通信(Inter Process Communication) 地址家族(add ...
分类:
编程语言 时间:
2019-05-04 17:32:56
阅读次数:
157
1.管道 对于具有公共祖先的进程,其管道是建立在3-4G的内核空间中的。每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制 ...
分类:
系统相关 时间:
2019-05-01 11:59:56
阅读次数:
147
关于如何使用go语言实现新进程的创建和进程间通信,我在网上找了不少的资料,但是始终未能发现让自己满意的答案,因此我打算自己来分析这部分源代码,然后善加利用,并且分享给大家,期望大家能从中获得启发。 首先我们来看一段代码 proc, _ := os.StartProcess(name, args, a ...
分类:
系统相关 时间:
2019-05-01 11:46:52
阅读次数:
182
消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 Linux用宏 和`MSGMNB ...
分类:
系统相关 时间:
2019-04-30 23:26:09
阅读次数:
202
一:两个进程间的两个线程通信,相当于进程间通信 二:一个进程中的两个线程间通信 通信方式: 1.互斥锁 mutex; lock_guard (在构造函数里加锁,在析构函数里解锁) unique_lock 自动加锁、解锁 2.读写锁 shared_lock 3.信号量 c++11中未实现,可以自己使用 ...
分类:
编程语言 时间:
2019-04-28 15:46:58
阅读次数:
320
进程间通信:管道 发表于 2019-02-19 | 阅读次数: 157 | 字数统计: 2,298 Pipe IPC 在 Go 中的使用与实现。 管道(Pipe) 多个进程在协作完成同一任务时,通常彼此要传输数据,共享资源。在 shell 中常常会用到管道符,如查看占用 80 端口的进程:netst ...
分类:
系统相关 时间:
2019-04-21 20:10:52
阅读次数:
206
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。进程间通信的方式有如下几种: 1.管道通信 特点: 1. 管道只允许具有血缘关系的进程间通信,如父子进程间的通信。 2. 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 3 ...
分类:
系统相关 时间:
2019-04-20 19:38:11
阅读次数:
179
Part C:抢占式多任务处理和进程间通信(IPC) 注:根据MIT JOS的lab指导手册,以下不明确区分“环境”和“进程” 重要提醒:每次实现完系统调用,记得补充 的`syscall()`!!!!!!! 在lab4的最后一部分,我们将修改内核以支持抢占不合作环境拥有的资源并允许进程间通信 时钟中 ...
分类:
其他好文 时间:
2019-04-18 14:44:43
阅读次数:
148
进程的概念: 线程的概念: 引入进程的目的,是为了更好地使多道程序并发执行,以提高资源利用率和系统吞吐量,增加并发程度;而引入线程,则是为了减少程序在并发执行时所付出地时空开销,提高系统地并发性能。 比较: ...
分类:
编程语言 时间:
2019-04-18 09:17:53
阅读次数:
143