随笔分类 - linux kernel
摘要:异步同步阻塞非阻塞 一个典型的网络IO接口调用,分为两个阶段,分别是"数据就绪" 和 "数据读写",数据就绪阶段分为阻塞和非阻塞,表现得结果就是,阻塞当前线程或是直接返回。同步(就是要自己定时去看有没有好)表示A向B请求调用一个网络IO接口时(或者调用某个业务逻辑API接口时),数据的读写都是由请求
阅读全文
摘要:字节序、ip地址和整数转换、tcp/ip通信 0706笔记就记了,但是具体是哪个函数遗忘了,赶紧来复习下 重点:0916面试问道了,ip地址和整数怎么转换 /* #include <arpa/inet.h> // p:点分十进制的IP字符串,n:表示network,网络字节序的整数 int inet
阅读全文
摘要:线程 线程概念 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机 制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共 享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传 统意义上的 UNIX 进程只是多线
阅读全文
摘要:数据结构出发 红黑树,最小堆,时间轮,跳表 4.分布式场景下:定时器设计 应用场景出发 单线程,多线程,分布式场景 定时器定位;服务器是怎么驱动逻辑的? 网络事件、定时事件、信号事件 怎么实现定时器? 单线程环境下: 通常与网络事件协调处理; 多线程环境下: 单独的定时器进行处理定时事件; 源码:
阅读全文
摘要:为什么使用likely与unlikely 在Linux kernel的源码中,存在这样的用法: if (likely(cond)) { ...... } if (unlikely(cond)) { ...... } likely和unlikely是宏定义,若cond为真(非0),那么likely(c
阅读全文
摘要:3 5 12 13 15章为重点 (https://www.nowcoder.com/discuss/813838?type=all&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_all_nctrack) 与操作系统结
阅读全文