进程间通信 - 信号量 操作系统

进程间通信 – 信号量

  信号量是什么 信号量的本质是对临界资源的计数器,它是一种数据操作锁,信号量决定是否可以访问临界资源,从而对临界资源起到保护作用。信号量通过对临界区的互斥保护,来保护临界资源。临界区是指执...
阅读全文
STL 常用算法 STL

STL 常用算法

  查找算法 adjacent_find 在迭代器区间内查找一对相邻的重复元素,如果找到返回一个指向这对元素的第一个元素的迭代器,否则返回 last 其中pred用于定义 *first==*...
阅读全文
进程间通信 - 消息队列 操作系统

进程间通信 – 消息队列

  消息队列 消息队列提供了⼀种从⼀个进程向另⼀个进程发送⼀个数据块的⽅法。每个数据块都被认为是有⼀个类型,接收者进程接收的数据块可以有不同的类型值。消息队列与管道不同的是,消息队列是基于消...
阅读全文
「拓扑排序」士兵排队问题 算法

「拓扑排序」士兵排队问题

  问题描述 有N个士兵(1≤N≤26),编号依次为A,B,C, …, Z,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2...
阅读全文
实现 pipe 通信 Linux

实现 pipe 通信

  无名管道通信 ⽗进程调⽤pipe开辟管道,得到两个⽂件描述符指向管道的两端。 ⽗进程调⽤fork创建⼦进程,那么⼦进程也有两个⽂件描述符指向同⼀管道。 ⽗进程关闭管道写端,⼦进程关闭管道...
阅读全文
排队打水问题 贪心算法

排队打水问题

  问题描述 有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2………..tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少? 输入格式 第一行n,r (n...
阅读全文
汽车拉货问题 贪心算法

汽车拉货问题

  问题描述 知道汽车核载重量为w,可供选择的物品的数量n。每个物品的重量为gi,价值为pi。求汽车可装载的最大价值。(所拉货物为散货) 输入格式 输入第一行为由空格分开的两个整数n w 第...
阅读全文
管道的容量 Linux

管道的容量

此函数是一个宏声明,其实质是汇编代码实现,从内存中找出一个空闲页面返回给pipe使用 怎么创建管道 The array pipefd is used to return two file descri...
阅读全文
揭开文件描述符的神秘面纱 Linux

揭开文件描述符的神秘面纱

文件描述符是什么 Linux内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用...
阅读全文