ICode9

精准搜索请尝试: 精确搜索
  • 进程间通信2021-08-07 18:30:16

    管道 管道可以用来在两个进程之间传递数据,如: ps -ef | grep “bash”, 其中‘|’就是管道。 其作用就是将 ps 命令的结果写入管道文件,然后 grep 再从管道文件中读出该数据进行过滤。 1. 有名管道 有名管道可以在任意两个进程之间通信 有名管道的创建: 命令创建: mkfifo FIFO系

  • PV操作2021-08-07 18:03:39

      临界资源:如千军万马过独木桥,其中独木桥就是临界资源。 临界区:访问临界资源的代码段 信号量:我们经常见到的P(S) V(S)中的S就是信号量 PV操作说白了就是两种原子操作的组合,有P操作和V操作。     注意:单缓存区一次只能缓存一个产品。 说白了P操作就是减操作,V操作就是加操作。  

  • iOS信号量报错2021-08-07 18:01:54

    常见信号 SIGTERMSIGSEGVSIGINTSIGILLSIGABRTSIGFPE 更多的信号量定义在<signal.h>, 这里截取了部分常见的 Defined in header <signal.h> #define SIGTERM /*implementation defined*/ #define SIGSEGV /*implementation defined*/ #define SIGINT /*implementation defined*/

  • Linux 系统编程 学习:11-线程:线程同步2021-08-04 19:03:56

    情景导入 我们都知道引入线程在合理的范围内可以加快提高程序的效率。但我们先来看看如果多线程同时访问一个临界资源会怎么样。 例程:模拟多窗口售票 c #include<pthread.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> int ticket_sum = 20;

  • linux-信号量和互斥量 的区别2021-08-02 10:34:25

    (1)互斥量用于线程的互斥,信号量用于线程的同步。 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步

  • 信号量机制2021-08-01 13:02:48

      信号量机制 wait原语(P)、signal原语(V)   信号量机制 ——  整型信号量    信号量机制 ——  记录型信号量  等待队列(struct process *L)、 阻塞原语(block) 注意动画分析过程中,value值的变化  

  • 生产者消费者问题2021-07-28 00:02:16

    生产者消费者问题 生产者消费者问题模型 生产者消费者问题是一个经典的、多线程同步问题。 有两个线程: 一个生产者线程和一个消费者线程。两个线程共享一个初始为空、固定大小为n的缓存区。 生产着的工作是“生产”一段数据,只有缓冲区没满时,生产者才能把消息放入到缓冲区,否

  • 多线程vs多进程2021-07-25 12:04:03

    多线程/多进程应用场景 当我们的程序中存在重复性较高的工作,我们通常希望多个“单位”同时操作以提高该工作的效率。这个“单位”为进程or线程,那么什么场景下选择进程,什么场景下选择线程呢? 进程和线程,本质上的区别是CPU时间调度上的时间片。 多线程由于不需要进行进程间的上下文切

  • Semaphore信号量2021-07-24 13:32:19

    Semaphore,等待指定数量的线程完成任务即可 public class A { private static SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 同步关键类,构造方法传入的数字是多少,则同一个时刻,只运行多少个进程同时运行制定代码 private Semaphore sema

  • 【STM32F429】第19章 ThreadX信号量2021-07-23 15:34:43

    论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99514 第19章       ThreadX信号量 本章节开始讲解ThreadX的另一个重要的任务间的同步和资源共享机制,信号量。 19.1 信号量 19.2 信号量任务通知(又称Event Chaining事件) 19.3 信号量创建函数 19.4

  • ZooKeeper 分布式锁 Curator 源码 04:分布式信号量和互斥锁2021-07-23 10:32:57

    前言 分布式信号量,之前在 Redisson 中也介绍过,Redisson 的信号量是将计数维护在 Redis 中的,那现在来看一下 Curator 是如何基于 ZooKeeper 实现信号量的。 使用 Demo public class CuratorDemo { public static void main(String[] args) throws Exception { String

  • 字节跳动后端开发一面(持续更新ing)2021-07-22 19:58:09

    一面 先做个自我介绍。 如果让你来实现HashMap,你会怎么做?put的过程?hashcode怎么找到数组下标?hashmap如何扩容,是直接复制到新的数组吗?为什么新数组是原数组长度的两倍? (1)数组+链表,红黑树。 (2)通过hashcode找到数组下标(见3),equals比较key,如果找到了key,则用新的值覆盖旧值,否则插入到末

  • Semaphore信号量2021-07-18 14:30:44

    Semaphore信号量 Semaphore是用来保护一个或者多个共享资源的访问,Semaphore内部维护了一个计数器,其值为可以访问的共享资源的个数。一个线程要访问共享资源,先获得信号量,如果信号量的计数器值大于1,意味着有共享资源可以访问,则使其计数器值减去1,再访问共享资源。 如果计数器值

  • 信号量2021-07-16 14:02:55

    #include <iostream> #include <sys/types.h> #include <sys/sem.h> #include <unistd.h> // 联合体 用于semctl初始化 union semun { int val; //for SETV

  • Go并发控制--WaitGroup篇2021-07-12 08:00:41

    目录1. 前言2. 使用WaitGroup控制2.1 使用场景2.2 信号量1.3 WaitGroup 数据结构2.3.1 Add () 方法2.3.2 Wait()2.3.3 Done()2.4 总结3. 总结 1. 前言 上一篇介绍了 Go并发控制--Channel 使用channel来控制子协程的优点是实现简单,缺点是当需要大量创建协程时就需要有相同数量的cha

  • 自制国产精简内核 vnRTOS 第 5 节 线程的异步通知2021-07-09 12:02:59

    自制国产实时内核——vnRTOS 所有文档: vnRTOS 文档   对于多线程,还有一个问题不容忽视。就是生产者和消费者的问题。我们考虑一个场景。线程 A 接受网络数据,如果没有网络数据,那线程 A 就要进入休眠。那当网卡接收到数据包的时候,如何去唤醒 线程A 呢? 我们引入信号量的概念:线程A

  • C++实现信号量2021-07-06 23:04:35

    背景实现代码toc 背景 信号量与条件变量差异对比 信号量存在一个计数,可以反映出当前阻塞在wait上的线程数(值小于0),或下次wait不会阻塞的线程数;条件变量没有相应计数 信号量仅能递增或递减计数,信号量每次递增只能唤醒一个阻塞线程;条件变量存在广播操作,能一次性唤醒所有阻塞线程

  • 图解进程线程、互斥锁与信号量-看完不懂你来打我2021-07-06 12:52:30

    在上学的时候,老师讲到进程与线程的时候可能是这样讲的: 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单元,是应用程序运行的载体。 线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分

  • 一文带你了解.Net信号量2021-07-06 09:32:52

    本文主要讲解.Net基于Semaphore带大家了解信号量 信号量举例 大家去银行去银行取钱,互斥锁管理的时一个柜台是否正在处理业务,而信号量管理的是整个柜台是否正在处理业务,每当有一个柜台处理完成之后,A大堂经理则进行叫号喊下一位进行处理业务,B大堂经理则对进来的客户进行接待,当柜台

  • os实验考前速成2021-07-04 12:01:50

    又到了一年一度的期末考试阶段,每到了这个阶段,菜菜就会瑟瑟发抖,当然我也是其中的一个。一看标题,咦,OS实验,这不是实验课,还考试? 是的,你没有看错,在这门课有对应的理论课的情况下,这门课的考核方式不是大作业,而是考试!!! 那没辙啊,咱也不敢说什么,该复习复习喽,就一边复习一遍做了张思维导图,不

  • Java并发之Semaphore源码解析(一)2021-07-04 10:04:35

    Semaphore 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析,ReentrantLock源码解析里介绍的方法有很多是本章的铺垫。下面,我们进入本章正题Semaphore。 从概念上来讲,信号量(Semaphore)会维护一组许可证用于限制线程对资源的访问,当我们有一资源允许线程并发访问

  • ======第二章进程管理======2021-07-01 15:32:45

    目录 2.1 进程的基本概念2.1.1 程序的顺序执行及其特征2.1.2 前驱图2.1.3 程序的并发执行及其特征2.1.4 进程的特征与状态2.1.5 进程控制块 2.2 进程控制2.2.1 进程的创建2.2.2 进程的终止2.2.3 进程的阻塞与唤醒2.2.4 进程的挂起与激活 进程同步2.3.2 信号量机制2.3.3 信

  • Semaphore 信号量介绍2021-07-01 15:32:30

    Semaphore 信号量介绍 1、Semaphore 是什么 Semaphore 通常我们叫它信号量, 可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。 可以把它简单的理解成我们停车场入口立着的那个显示屏,每有一辆车进入停车场显示屏就会显示剩余车位减1,每有一辆车从停车

  • 多线程间通信和多进程之间通信的方式2021-06-29 10:30:11

    一、进程间通信 1. 进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为

  • 第五章 并发性:互斥和同步2021-06-27 07:00:16

    相关术语一、硬件对互斥的支持中断禁用专用机器指令CAS指令Exchange指令机器指令的缺点二、基于软件的并发同步机制信号量信号量原语定义有限缓冲区生产-消费问题信号量的实现管程管程的优势管程方案消息传递信息传递原语发送、接收形式寻址方式消息格式排队原则有限缓冲区生产-消

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有