置顶文章
精选分类
C++
哲学社科
言
转码之路
阅读笔记
GAN课题
文章列表
Cmake笔记
# CMake # 说明 cmake 的定义是什么 ?----- 高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so 等等)这时候神器就出现了 -----CMake! 所有操作都是通过编译 CMakeLists.txt 来完成的 — 简单 官 方网站是 www.cmake.org,可以通过访问官方网站获得更多关于 cmake 的信息 学习 CMake 的目的,为将来处理大型的 C/C++/JAVA 项目做准备 # CMake 安装 1、绝大多数的 linux 系统已经安装了 CMake 2、Windows 或某些没有安装过的...
more...一人山海,绝学无忧
2023 年了,满载着 2022 的遗憾… # 我越来越不像我 已经一年半没怎么看书了,曾经拯救失眠的书籍和初心一起消失了 想不起何时第一次做出决定,放弃许多去追逐资本权力,期待着一往无前扫清所有资本征途的障碍… 或许是从入学后第一次听到深圳的消费水平、大学城平均薪资,或许是第一次组会从师兄口中听到互联网大厂 ssp,或许是分手时向一切现实世俗妥协,或许被周遭人事引诱着推向前方还有内心的探索欲… 曾经千千万万道路被走成了一条:前往更快的赛道追逐资本 从研一到研二,一个又一个选择都无法停下我流转的目光,不断结合自身情况和就业环境调整策略,浅尝辄止,缺少沉淀,目光永驻未来…...
more...Linux多线程开发
# 线程概念 与进程 (process)类似,线程 (thread) 是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多线程程序的一个特例,该进程只包含一个线程) 进程是 CPU 分配资源的最小单位,线程是操作系统调度执行的最小单位。 线程是轻量级的进程(LWP: Light weight Process),在 Linux 环境下线程的本质仍是进程。 查看指定进程的 LWP 号:ps -Lf...
more...半同步/半反应堆线程池
# 两种高效的事件处理(事件分发)模式 Reactor 模式(反应堆)—— 依赖同步 IO,主线程中处理 IO,监听就绪事件的发生,然后通知工作线程进行读写数据(IO 操作)+ 读写完成后的处理逻辑 Proactor 模式(前摄器)—— 依赖异步 IO,主线程和内核处理全部的 IO(包括读写数据),监听完成事件(异步 IO 产生的是完成信号,即信号产生时读写已经完成)的发生,然后通知工作线程进行读写完成后的处理逻辑 模拟 Proactor 模式 —— Linux 中没有真正的异步 IO,AIO(aio_read 等)内部是用 pthread 模拟的(多线程 + 请求队列 +...
more...Tinywebserver项目记录
# PartⅠ:mywebserver # 一、locker.h,locker.cpp (与 Tiny 相同) 互斥锁类 locker <u> 用于内存池 </u>:请求队列(工作队列)的互斥访问 向工作队列中添加任务 append () 时,会访问 / 修改请求队列 线程中运行的主要逻辑:从请求队列中取出请求并执行其 process () 函数,故会访问 / 修改请求队列 条件变量类 cond 项目中没有用到 信号量类 sem <u> 用于内存池 </u>:请求队列 ——...
more...