进程间通信之共享内存 C/C++

进程间通信之共享内存

共享内存是所有 IPC 通信中效率最高的,它通过把文件映射到用户进程空间,然后直接通过地址访问来实现多进程通信。相对于其他 IPC 通信方式而言,少去了把数据从用户空间复制到内核空间,再从内核空间复制到用户空...
阅读全文
进程间通信之信号量 编程语言

进程间通信之信号量

一、信号量 信号量有两种,一种的有名信号,一种是无名信号。有名信号一般用于进程间同步,无名信号一般用于于线程间同步。创建或打开一个信号的函数: [crayon-6864731b1a5c40422265...
阅读全文
EAGAIN和EWOULDBLOCK的处理办法 C/C++

EAGAIN 和 EWOULDBLOCK 的处理办法

EAGAIN 和 EWOULDBLOCK 是 linux 环境下的两个错误码,在非阻塞 IO 中经常会碰到,对新手而言,如何处理这两个值非常头疼。如果处理不当,很容易导致程序异常。 EAGAIN 的官方定义: 「Re...
阅读全文
redis中的键值淘汰策略 Redis

redis 中的键值淘汰策略

当使用的内存到达上限后,redis 提供了 6 种策略来淘汰键值: 策略 描述 volatile-lru 在所有设置了过期时间的键值中根据 LRU 算法淘汰最近最少使用的 allkeys-lru 对数据库中所有...
阅读全文
MySQL中的B+树索引和哈希索引 MySQL

MySQL 中的 B+树索引和哈希索引

一、为什么要使用索引 索引是存储引擎用于快速找到记录的一种数据结构。索引对于数据库良好的性能十分关键,尤其是表中的数据量越来越大时,索引对性能的影响十分明显。 《高性能 MySQL 》中对索引的评价是:索...
阅读全文