
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
基于opencv采集推流1.opencv采集rtsp解码 //可以基于usb 摄像机(调用系统驱动)和rtsp(调用ffmpeg 接口 转yuv加解码) 摄像机2.ffmpeg缩放转换像素格式3.ffmpeg编码H2644.ffmpeg推流rtmpsws_getCachedContext (像素格式转换 会清理之前的数据)1.struct SwsContext *context,2.int src
想象你有一本字典,要查某个单词,有两种方法:如果所有可能的键(key)都来自集合 U={0,1,…,m−1}U = \{0, 1, \ldots, m-1\}U={0,1,…,m−1},且 mmm 不太大,可以直接用一个长度为 mmm 的数组 TTT:2.2 三种操作三种操作都极其简单,每种只需 O(1)O(1)O(1) 时间:2.3 直接地址表的缺点如果键的全集 UUU 很大(比如所有 64 位
从顶点sss到顶点ttt的最短路径,是所有从sss到ttt的有向路径中,路径权重最小的那条。两个核心数据结构distTo[](最短距离)和edgeTo[](父边),是所有最短路径算法的基础。松弛操作是灵魂:每次对一条边做松弛,本质是在问"走这条边,能不能更新目标顶点的最短距离?Dijkstra 的贪心策略:每次优先处理"当前已知最短距离"的顶点,对非负权图保证正确性。优先队列的懒惰删除:C++ 的
拓扑顺序是关键:DAG 上按拓扑顺序松弛,保证处理vvv时distTovdistTo[v]distTov已是最终值,无需优先队列。线性时间OEVO(E + V)OEV:拓扑排序一遍,松弛一遍,每条边恰好被处理一次。允许负权边:证明不依赖边权非负,只依赖拓扑顺序的单向传播性。最长路径只需两处修改:初始化从∞+\infty∞改为−∞-\infty−∞,松弛判断从改为。无环是前提:若图含环,拓扑排序无法
https://gitee.com/mrxiao_com/obsidian_print_pdf/blob/main/.obsidian/snippets/custom-style.csshttps://gitee.com/mrxiao_com/obsidian_print_pdf/blob/main/example/markdown.mdhttps://gitee.com/mrxiao_com/o
缓冲区(buffer)除了一个个单独使用之外,还可以把好几个缓冲区打包在一起,跟操作系统的一次读写系统调用配合使用,这种用法叫做分散-聚集操作(scatter-gather operations)。散射读(scatter-read):数据来自同一个来源(比如同一个 socket),但读出来之后被拆分着放进好几块不连续的内存缓冲区里,而不是全部塞进一块连续的大内存。聚集写(gather-write)
Boost.Asio 是 Boost 这个大家族里专门用来处理异步输入输出(I/O)的一个库。这里说的 I/O,指的是那些最终要靠操作系统来完成的任务,比如:往网络上发一个包、从文件里读一段数据、等一个定时器到期。如果不用任何辅助工具,自己去写这些异步逻辑会很痛苦:你得自己管理"这个操作有没有完成"“完成了应该通知谁”“好几个操作同时在等的时候怎么调度”。Boost.Asio 把这一整套麻烦事都封
前面几章讲的是"怎么创建、管理、取消线程",这一章要解决的是更核心的一个问题:当多个线程同时读写同一块内存时,怎样才能保证数据不出错。操作系统对"进程"这个层级是有内存保护的:一个进程一般不能随意读写另一个进程的内存空间,操作系统会通过虚拟内存机制把不同进程互相隔离开。但是同一个进程内部的多个线程,天生共享同一份内存空间,操作系统并不会阻止线程 A 去读写线程 B 正在使用的那块内存——这本来就是
这一章其实是一个"承上启下"的章节:前面我们已经从概念层面理解了并行编程模型、异步编程、事件驱动编程这些"思路",而这一章开始,要正式进入 Linux 系统底层,看看这些思路具体是靠哪些"操作系统提供的实实在在的机制"来落地实现的。简单来说,这一章会依次介绍三个互相关联的主题:在正式进入进程、线程这些具体机制之前,这一章先用一段话重新强调了异步编程的重要性,我们用自己的话再梳理一遍。异步编程的核心
这一章是全书里专门讲"多线程编程"的核心章节。在正式展开各个小节之前,先把这一章要建立起来的知识地图梳理一遍,方便后面每一节内容都能"挂"到一个清晰的框架上。下面按顺序,把这8个知识点逐一从零建立起直观的理解,并配上最基础的代码示例——具体的深入讲解会在后续小节里继续展开。先建立一个最基本的直觉:一个正在运行的程序,操作系统会给它分配一个"进程",进程拥有自己独立的内存空间。而线程是进程内部的一条







