posted @ 2021-08-30 16:46
花狗
阅读(140)
推荐(0)
摘要:
lock 先上结论; 返回一个引向weak_ptr所观察的资源的shared_ptr,如果可以的话。如果没有这样的指针(即weak_ptr引向的是空指针),shared_ptr引向的也是空指针。否则shared_ptr所引向的资源的引用计数将正常递增。 首先看下面代码: reset函数会释放sp1指
阅读全文
posted @ 2021-08-27 18:16
花狗
阅读(79)
推荐(0)
摘要:
高性能定时器 高性能定时器的设计一般有两种方法:时间轮、基于堆的定时器; 时间轮: 如上图所示:一共有N个槽,每个槽指向一条定时器链表, 每次转动就指向下一个槽,以恒定的速度顺时针转动,每转动一步就指向下一个槽,每次转动的时间间隔为si,一共有N个槽,因此运转一周时间为N*si 每条链表上的定时器定
阅读全文
posted @ 2021-08-27 17:10
花狗
阅读(262)
推荐(0)
摘要:
#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)
摘要:
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)
摘要:
三次握手: 开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态 第一次握手发送完毕后,客户端进入 SYN_SEND 状态【客户端发送一个SYN报文段(即在一个TCP头部的SYN位置位的TCP/IP数据包),并指明自己想要连接的端口号和他的客户端初始序列号(IS
阅读全文
posted @ 2021-08-20 21:33
花狗
阅读(81)
推荐(0)
摘要:
线程安全概念 多线程同时访问保证其逻辑正确性 在多线程同时运行时,保证线程执行顺序的正确性 调用该部分代码时,不需要额外的同步操作,从这些方面可以判断出标准库中如vector,list,map等都是非线程安全的。 如何避免在对象析构时可能的死锁呢 对象析构可能出现竞争情景: 在对象即将析构时,如何确
阅读全文
posted @ 2021-08-19 16:42
花狗
阅读(33)
推荐(0)