03 2021 档案

摘要:1 Put 操作 1.1 接口函数: 接口: // Convenience methods Status DBImpl::Put(const WriteOptions& o, const Slice& key, const Slice& val) { return DB::Put(o, key, v 阅读全文
posted @ 2021-03-31 23:12 lihaihui199102 阅读(108) 评论(0) 推荐(0) 编辑
摘要:1 为什么要有select 将socket fd设置为nonblock(非阻塞)是在服务器编程中常见的做法,采用blocking IO并为每一个client创建一个线程的模式开销巨大且可扩展性不佳(带来大量的切换开销),更为通用的做法是采用线程池+Nonblock I/O+Multiplexing( 阅读全文
posted @ 2021-03-30 22:44 lihaihui199102 阅读(540) 评论(0) 推荐(0) 编辑
摘要:1 coding.h 数据编码 1.1 uint 编码示例 函数示例 编码函数 inline void EncodeFixed32(char* dst, uint32_t value) inline void EncodeFixed64(char* dst, uint64_t value) 解码函数 阅读全文
posted @ 2021-03-30 22:43 lihaihui199102 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1 进程通信 本地进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道、FIFO、消息队列) 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 网络通信: 标识网络进程:三元组(ip地址,协议, 阅读全文
posted @ 2021-03-11 00:23 lihaihui199102 阅读(137) 评论(0) 推荐(0) 编辑
摘要:1 链表常规题目 链表常规题目: 2 链表反序 初始化:单链表需要指向一个前向节点: 反序: 2.1 代码示例 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Li 阅读全文
posted @ 2021-03-07 17:31 lihaihui199102 阅读(51) 评论(0) 推荐(0) 编辑
摘要:1 Websocket 产生原因 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返 阅读全文
posted @ 2021-03-04 20:37 lihaihui199102 阅读(222) 评论(0) 推荐(0) 编辑
摘要:1 排序算法 1.1 排序算法分类 可以分为两类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序 阅读全文
posted @ 2021-03-03 23:20 lihaihui199102 阅读(46) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示