线程模型 线程切换成本

首先明确进程与进程的基本概念:

  • 进程是资源分配的基本单位
  • 线程是CPU调度的基本单位
  • 一个进程下可能有多个线程
  • 多个线程共享进程的资源

不同的 OS 进程 和 线程是实现细节不一样的

特别是 用户态和内核态 区别非常大

memgraph 本地学习环境部署

开源 图数据库,专为 实时流数据构建,兼容 Neo4j

使用授权是 the Business Source License 1.1 (BSL)

企业版是 额外提供权限管理功能,详细见官网

注意:

docker 镜像 tag 特殊字符解释

基于 alpinelinux 制作的镜像

apline是Alpine Linux操作系统,它是一个独立发行版本,相比较Debian操作系统来说Alpine更加轻巧,而通过Docker镜像搭建微服务倡导的就是一个“轻量级”概念,所以很多语言、应用也都发布了Alpine版本的Docker基础镜像

异步编程-阻塞&非阻塞

异步是必须系统提供并行或者并发的能力才能做到的,没有并行或者并发的系统不支持异步编程

所谓同步和异步,本质上区别是:逻辑请求发出后,是否需要等待结果,才能继续执行操作

是多个逻辑结构的编程设计模式,异步实现的依赖

多任务在同一个时刻同时执行,必须要求多个执行主体,比如多核CPU或者多CPU,每个核心独立执行一个任务,多个任务同时执行,不需要切换

valgrind qcachegrind 性能分析工具

介绍

qcachegrind 查看 valgrind 性能检测结果的工具

Valgrind 分析

https://stackoverflow.com/questions/69792467/memory-check-on-macos-12-monterey

安装:kcachegrind ,由于kcachegrind只能在kde环境下运行,所以需要安装 kdewin-installer-gui