数据结构和算法 【每日打卡】 [leetcode]1013-将数组分成和相等的三个部分 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/partition-array-into-three-parts-with-equal-sum ... 03 月 11 日139评论leetcode 阅读全文
数据结构和算法 [leetcode+剑指 offer] 左旋转字符串 leetcode 上开了 《剑指 offer 》专栏,深夜回家特来水一下。题解后续补上~ 代码: [crayon-682059ac7a6cb682314276/] 单元测试案例: [crayon-682059... 03 月 09 日409评论 阅读全文
程序员 一次子进程继承信号屏蔽字导致的功能异常问题排查过程 近来一直在做部门疑难问题的排查工作,最近也准备在周分享上做一个小培训 (交流)——「排查问题的方法和思路」 。回想历史问题处理,觉得这是个很不错的案例,便回溯了一下排查过程记录下来。 一、问题背景 有一个... 03 月 08 日474评论 阅读全文
C/C++ C++中的异常处理 一、异常处理 1.1 异常的基本用法 C 语言中因为没有异常处理 (只能通过返回值来判断错误) 机制一直被诟病,因此 C++也引入了 try...catch 机制,使得 C++也能像 java/python 一样来捕获... 03 月 01 日1,728评论 阅读全文
编程语言 I/O 模型 一、 I/O 模型分类 unix 环境下有 5 中 IO 模型: 阻塞式 I/O 非阻塞式 I/O I/O 多路复用 信号驱动 I/O 异步 I/O(POSIX 中的 aio_系列函数) 常用的是前三种方式,特别是多路 I/O 复用... 02 月 29 日305评论网络编程 阅读全文
数据结构和算法 [leetcode]226-翻转二叉树 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/invert-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请... 02 月 26 日241评论leetcode 树 阅读全文
C/C++ epoll 中的边缘触发 ET 和水平触发 LT 模式 epoll 中的触发模式有两种,边缘触发和水平触发,默认情况下使用的是水平触发。 边缘触发 (ET) 的意思是当电平出现变化的时候才触发事件,如果设置了边缘触发,执行 epoll_wait 时,内核检测到数据到... 02 月 26 日1,113评论网络编程 阅读全文
C/C++ 猴子拿苹果问题-匿名信号量 一、猴子拿苹果问题 逛脉脉时,看到一网友遇到的面试题:有 9 个苹果,2 只猴子。一个猴子每次拿 2 个苹果,一个猴子每次拿 3 个苹果。如果剩余的苹果数量不够猴子拿的数量,则停止拿苹果。请用多线程的方式模拟上面的... 02 月 25 日398评论 阅读全文
C/C++ 进程间通信之共享内存 共享内存是所有 IPC 通信中效率最高的,它通过把文件映射到用户进程空间,然后直接通过地址访问来实现多进程通信。相对于其他 IPC 通信方式而言,少去了把数据从用户空间复制到内核空间,再从内核空间复制到用户空... 02 月 23 日258评论 阅读全文
编程语言 进程间通信之信号量 一、信号量 信号量有两种,一种的有名信号,一种是无名信号。有名信号一般用于进程间同步,无名信号一般用于于线程间同步。创建或打开一个信号的函数: [crayon-682059ac7b0d89123188... 02 月 23 日435评论 阅读全文