花狗

导航

 

2021年8月30日

摘要: 阅读全文
posted @ 2021-08-30 16:46 花狗 阅读(140) 评论(0) 推荐(0)
 

2021年8月27日

摘要: lock 先上结论; 返回一个引向weak_ptr所观察的资源的shared_ptr,如果可以的话。如果没有这样的指针(即weak_ptr引向的是空指针),shared_ptr引向的也是空指针。否则shared_ptr所引向的资源的引用计数将正常递增。 首先看下面代码: reset函数会释放sp1指 阅读全文
posted @ 2021-08-27 18:16 花狗 阅读(79) 评论(0) 推荐(0)
 
摘要: 高性能定时器 高性能定时器的设计一般有两种方法:时间轮、基于堆的定时器; 时间轮: 如上图所示:一共有N个槽,每个槽指向一条定时器链表, 每次转动就指向下一个槽,以恒定的速度顺时针转动,每转动一步就指向下一个槽,每次转动的时间间隔为si,一共有N个槽,因此运转一周时间为N*si 每条链表上的定时器定 阅读全文
posted @ 2021-08-27 17:10 花狗 阅读(262) 评论(0) 推荐(0)
 

2021年8月25日

摘要: #include <iostream> #include <thread> #include <condition_variable> #include <vector> #include <algorithm> using namespace std; std::mutex my_mutex; s 阅读全文
posted @ 2021-08-25 20:34 花狗 阅读(77) 评论(0) 推荐(0)
 
摘要: int main() { int a[5] = { 1,6,3,4,5 }; int *ptr = (int*)(&a + 1); cout << &a + 1 <<endl; cout << &a << endl; cout << *ptr << endl; cout << &ptr << end 阅读全文
posted @ 2021-08-25 20:30 花狗 阅读(71) 评论(0) 推荐(0)
 

2021年8月20日

摘要: 三次握手: 开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态 第一次握手发送完毕后,客户端进入 SYN_SEND 状态【客户端发送一个SYN报文段(即在一个TCP头部的SYN位置位的TCP/IP数据包),并指明自己想要连接的端口号和他的客户端初始序列号(IS 阅读全文
posted @ 2021-08-20 21:33 花狗 阅读(81) 评论(0) 推荐(0)
 

2021年8月19日

摘要: 线程安全概念 多线程同时访问保证其逻辑正确性 在多线程同时运行时,保证线程执行顺序的正确性 调用该部分代码时,不需要额外的同步操作,从这些方面可以判断出标准库中如vector,list,map等都是非线程安全的。 如何避免在对象析构时可能的死锁呢 对象析构可能出现竞争情景: 在对象即将析构时,如何确 阅读全文
posted @ 2021-08-19 16:42 花狗 阅读(33) 评论(0) 推荐(0)